是否可以設置「connection.kbytes-per-second」取決於Lighttpd當天的小時數?Lighttpd可以設置「connection.kbytes-per-second」取決於一天中的哪個小時?如高峯期和高峯期
如下午7點至11點限制爲250kb/s,上午1點至上午5點限制爲500kb/s等?
謝謝!
是否可以設置「connection.kbytes-per-second」取決於Lighttpd當天的小時數?Lighttpd可以設置「connection.kbytes-per-second」取決於一天中的哪個小時?如高峯期和高峯期
如下午7點至11點限制爲250kb/s,上午1點至上午5點限制爲500kb/s等?
謝謝!
抱歉耽擱,我的答案 - 在LUA腳本:
-- If we don't find our "superSecretString" in the request uri, then
if string.find(lighty.env["request.uri"], "superSecretString") == nil then
local hour = os.date("%H")
-- Account for whether or not there are already query variables
if string.find(lighty.env["request.uri"], "?") == nil then
lighty.env["request.uri"] = lighty.env["request.uri"] .. "?superSecretString=" .. hour
else
lighty.env["request.uri"] = lighty.env["request.uri"] .. "&superSecretString=" .. hour
end
-- Restart the request, the script will run again, but return nil.
return lighty.RESTART_REQUEST
end
-- Continue request, the above if already would have ran.
return nil
和配置文件:
server.modules(..., mod_magnet, ...)
# Match hours 00 through 19
$HTTP["querystring"] =~ ".*superSecretString=[0,1][0-9]" {
connection.kbytes-per-second = 200
}
# Match 20 through 23
$HTTP["querystring"] =~ ".*superSecretString=2[0-3]" {
connection.kbytes-per-second = 100
}
magnet.attract-raw-url-to = ("<path to lua script file>")
如果不是很明顯,如果有人知道你的 「superSecretString」他們可以將這個短路,但它永遠不會離開服務器。
我覺得應該可以從lua腳本里面設置連接速度,但是我不知道該怎麼做。
希望這會有所幫助。
經過一些實驗後,可以使用mod_magnet將髒東西篡改。它可能很乾淨,但我無法弄清楚如何在lua代碼中設置連接速度,所以它需要設置類似url或查詢字符串的內容,然後重新啓動請求並以其他規則捕獲它。我會稍後嘗試發佈代碼。 – Macattack
@Macattack謝謝!等待你的回覆!對於許多網站管理員來說,這將是一個有用的功能/功能! – leon