Nginx Sorryページ設定

sorry-page

Ubuntu20.04でNginxにおけるロードバランサの環境構築を先日行いましたが、sorryページの実装が後回しになっておりましたので、今回の記事ではWebServerがなんからの原因でアクセスできなくなった場合に、sorryページを表示させる手順を試してみたいと思います。

Nginxでロードバランサを構築する手順については以下をご覧ください。

参考 Ubuntu20.04 NginxでロードバランスするITサービス指向エンジニアブログ

ドキュメントルートにsorryページを作成する

nginxのドキュメントルートは以下にあります。

/usr/share/nginx/html

このディレクトリにsorryページのhtmlを作成します。

sudo vi 50x.html

中身はsorryページであることが分かれば何でもよいです。

僕はsorry wait a minuteとしました。

nginx.confファイルの設定

sorryページを作成したら、nginx.confファイルの設定を記載します。

/etc/nginx/conf.d/nginx.conf

server {
	listen 80;
	server_name LB.kyrieee.jp;
	error_page 500 502 503 504 /50x.html; #エラー時に表示するディレクトリの設定追加

	location / {
		proxy_pass http://backend;
		proxy_http_version 1.1;
		proxy_set_header Host $host:$server_port;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	
	}
	
	location ^~ /50x.html {               #エラー時に転送する先のURI指定先を追加
		root /usr/share/nginx/html;
	}
}

sorryページを表示するために、nginx.confに追記した内容はコメントに記載しました。

50x.htmlは500エラーや502エラーなどのサーバー内部エラー発生時に表示します。

記述を追加したら、sudo systemctl restart nginx で再起動します。

locationディレクティブで使用する修飾子の優先度

優先度修飾子説明
1=完全一致
2~正規表現(大文字小文字を区別)
3~*正規表現(大文字小文字を区別しない)
4なし前方一致
5^~前方一致

同じ優先度の場合は上から順に評価し、マッチしたものが使われる

この状態でWebServerを2台とも停止させた状態で、lb.kyrieee.jpへアクセスすると以下のようにsorryページが表示されれば、OKです。

本記事ではnginx実践入門の本も参考にさせていただいております。

nginx実践入門 (WEB+DB PRESS plus)

Amazon.co.jp: nginx実践入門 (WEB+DB PRESS plus) : 久保 達彦, 道井 俊介: 本

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です