nginx 502エラー発生時をヘルスチェックに追加する
nginxでロードバランサー利用時に、502エラーがでた場合もヘルスチェックに追加して、別サーバーに移動させる手順を記述してます。nginxのバージョンは1.18.0を使用してます。
環境
- OS CentOS Linux release 7.9.2009 (Core)
- nginx 1.18.0
nginx設定
proxy_next_upstreamに「http_502」を追加してあげます。
upstream app {
server バックエンドのIP1 max_fails=3 fail_timeout=30s;
server バックエンドのIP2 max_fails=3 fail_timeout=30s;
}
server {
listen 80;
server_name リバースプロキシ側のIP;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app;
proxy_next_upstream error timeout http_502;
proxy_next_upstream_tries 0;
proxy_next_upstream_timeout 10;
proxy_connect_timeout 5s;
proxy_send_timeout 5s;
proxy_read_timeout 5s;
}
}
これで、502エラー発生時もロードバランサーが切り替わるようになります。
【参考】
max_fails : 指定回数のアクセス不能だった場合、サーバがダウンしたと判断
fail_timeout : fail_timeoutに指定された時間だけupstreamから外れます
-
前の記事
C# フォルダを作成する 2021.01.17
-
次の記事
javascript faviconを変更する 2021.01.18
コメントを書く