毎日午前 3 時から午前 4 時まで「503 Service Unavailable」を配信するように nginx を構成するにはどうすればよいですか?
質問する
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 に答える