NGINX を使用してポート 80 で実行されているアプリケーションに http リクエストを転送する方法

NGINX を使用してポート 80 で実行されているアプリケーションに http リクエストを転送する方法

Ubuntu サーバーは、
ポート 80(http) と 443(https) で Glassfish、
ポート 8080(http) と 8081(https) で Nginx が稼働しています。

目標は、
ホスト名01.comGlassfishにアクセスするには、
ホスト名02.comNginxにアクセスする

質問は、
Nginx プロキシ パス構成またはその他の設定を使用してこれを行うことは可能かどうかです。

回答を見ると、デフォルトの http リクエストが送信されるポート 80/443 で Nginx が実行されていることがわかりますが、私の環境では Glassfish が Nginx より前に実行されており、その設定を変更する権限がないため、現在はポート番号が指定されていない限り、すべてのリクエストが Glassfish に送信されます。Glassfish
インスタンスを除く他のサーバー構成を編集することは許可されています。

ありがとう

答え1

これを実現する唯一の方法は、2 番目の IP アドレスをネットワーク インターフェイスにバインドし、Glassfish を最初の IP に明示的にバインドし、nginx を 2 番目の IP にバインドすることです。
いずれかのアプリケーションがポートをリッスンすると、0.0.0.0:80他のすべてのアプリケーションに対してそのポートがブロックされます。
これを行うとすぐに、次のようにディレクティブbindのパラメータを使用して、nginx に特定のアドレスのみをリッスンするように指示できますlistenlisten 192.0.2.1:80 bind
これは IP ソケット トピックであり、構成トピックだけではありません。

関連情報