如何配置nginx每天凌晨3点到凌晨4点提供“503服务不可用”?
答案 0 :(得分:4)
然而,仅仅检查维护标志就更简单了。
location / {
if( -f $document_root/maintenance.flag ) {
return 503;
}
}
现在,当您进行维护时,我认为是由cron运行的,您可以创建该文件,并在完成后自行清理。它还有一个额外的好处,即您可以为非计划维护创建该文件。
答案 1 :(得分:1)
SSI Module有一个名为 $ 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;
}
}