2013-07-10 33 views
1

是否可以設置「connection.kbytes-per-second」取決於Lighttpd當天的小時數?Lighttpd可以設置「connection.kbytes-per-second」取決於一天中的哪個小時?如高峯期和高峯期

如下午7點至11點限制爲250kb/s,上午1點至上午5點限制爲500kb/s等?

謝謝!

+0

經過一些實驗後,可以使用mod_magnet將髒東西篡改。它可能很乾淨,但我無法弄清楚如何在lua代碼中設置連接速度,所以它需要設置類似url或查詢字符串的內容,然後重新啓動請求並以其他規則捕獲它。我會稍後嘗試發佈代碼。 – Macattack

+0

@Macattack謝謝!等待你的回覆!對於許多網站管理員來說,這將是一個有用的功能/功能! – leon

回答

1

抱歉耽擱,我的答案 - 在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腳本里面設置連接速度,但是我不知道該怎麼做。

希望這會有所幫助。

+0

謝謝!!!!!!!我會測試它! – leon

+0

是否可以設置connection.kbytes-per-second而不傳遞查詢字符串方法? – leon

+0

最好的方法是在lua腳本中設置連接速度,但我不知道該怎麼做。否則,您可以將時間存儲在腳本內可修改的任何內容中,並可從常規配置規則訪問。所以它可能是網址的一部分,或者任何一些東西。 – Macattack