如何将 nginx 配置为每天凌晨 3 点到凌晨 4 点提供“503 服务不可用”?
问问题
1069 次
2 回答
4
然而,只检查维护标志要简单得多。
location / {
if( -f $document_root/maintenance.flag ) {
return 503;
}
}
现在,当您进行维护时,我认为它是由 cron 运行的,您创建文件并在完成后自行清理。它还有一个额外的优势,即您也可以为计划外维护创建该文件。
于 2013-07-16T06:54:04.330 回答
1
SSI 模块有一个名为$date_gmt的变量,您可以从中获取时间。一些带有该变量的 if 语句可能会有所帮助。
或者,您可以通过在HTTPLuModule中编译来在 Lua 中编写一些东西。Lua 将为您在 Nginx 中做更复杂的事情提供更多的灵活性。缺点是您必须在其中编译模块。
我没有测试过这段代码,但类似的东西可能会帮助你入门。
location ~ / {
set_by_lua $between_three_and_four '
local time = os.date("*t")
local between_three_and_four = false
if time.hour == 3 then
between_three_and_four = true
end
return between_three_and_four
'
if ($between_three_and_four) {
return 503;
}
}
于 2013-07-14T22:20:59.790 回答