1

是否可以根据 Lighttpd 中的时间设置“connection.kbytes-per-second”?

比如晚上 7 点到 11 点之间限制为 250kb/s,凌晨 1 点到 5 点限制为 500kb/s 等?

谢谢!

4

1 回答 1

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 脚本内部设置连接速度,但我不知道如何设置。

希望这可以帮助。

于 2013-07-11T05:30:38.350 回答