2023/02/20 22:00
概要今回は、Nginxでリバースプロキシの設定をした際にハマった点があったので簡単に紹介します。事象ミラーサーバーの提供にはロードバランサとしてNginxのリバースプロキシを設定して利用しています。サポートするディストリビューションを追加するため、既存のリバースプロキシの設定を複製する形で設定を追記しました。しかし、既存の設定は機能するにもかかわらず、追記した設定は機能しない問題が発生しました。追記した設定は以下です。location /ubuntu { proxy_pass http://192.168.x.y:80;}location /almalinux { proxy_pass http://192.168.x.z:80;}/ubuntu パスについては正しくリバースプロキシ先のHTTPサーバーの情報を返してくれますが、/almalinux パスは404となりアクセスができませんでした。もちろんリバースプロキシ先のHTTPサーバが起動していないなどはなく、直接アクセスし正しく機能していることが確認できます。# curl -s -o /dev/null -w '%{http_code}\n' http://192.168.x.x/ubuntu200# curl -s -o /dev/null -w '%{http_code}\n' http://192.168.x.x/almalinux404# curl -s -o /dev/null -w '%{http_code}\n' http://192.168.x.z/200正しい設定Nginxでリバースプロキシを設定する際は、 locationとproxy_passに設定するパスの末尾を必ず / で終了させる必要があります。上記設定を正しいものに直すと次のようになります。location /ubuntu/ { proxy_pass http://192.168.x.y:80/;}location /almalinux/ { proxy_pass http://192.168.x.z:80/;}なぜ一部設定