Nginxでのメンテナンスページ表示設定について
アクセスされるURLに関係なく、メンテナンス用のページを表示させるための設定を記載します。
前提知識
サイトのメンテナンス時にはステータスコード「503」で返すことが作法となりますので、以下のサイトを参考にご注意ください。
【事例】メンテナンス時はステータスコード503にしないとすごいことになる | Next Generation SEO
メンテナンス設定の有効化
Nginxのコンフィグファイルに以下の内容を記載し、ドキュメントルート下の[/usr/share/nginx/html/maintenance]にメンテナンス時に表示させたいページを配置します。(503.htmlがメンテ時に表示される。)
※メンテナンス用の設定部分のみ記載しております
server { listen 443; root /usr/share/nginx/html; #ここのスイッチを [true] or [false] でメンテの切り替え可能 set $go_maintenance "true"; if ($uri ~ "^/maintenance/.*") { set $go_maintenance "false"; } error_page 404 503 /maintenance/503.html; location /maintenance/ {} if ($go_maintenance = "true") { return 503; } }
使い方
一番最初の [set $go_maintenance "true";] を"true"に変更し、Nginxをリロードします。
# service nginx reload