Der Ubuntu-Server läuft,
Glassfish auf Port 80 (http) und 443 (https)
Nginx auf Port 8080 (http) und 8081 (https)
Das Ziel ist,
www.hostname01.comum auf Glassfish zuzugreifen,
www.hostname02.comum auf Nginx zuzugreifen
Die Frage ist,
ob dies mithilfe der Nginx-Proxy-Pass-Konfiguration oder mit anderen Einstellungen möglich ist.
Ich sehe Antworten, bei denen Nginx auf Port 80/443 läuft, da dies die Standard-HTTP-Anfrage ist. In meiner Umgebung lief jedoch Glassfish vor Nginx und ich bin nicht berechtigt, dessen Einstellungen zu ändern. Daher geht derzeit jede Anfrage an Glassfish, sofern keine Portnummer angegeben ist.
Ich darf jede andere Serverkonfiguration außer der Glassfish-Instanz bearbeiten.
Danke
Antwort1
Dies lässt sich nur erreichen, indem Sie eine zweite IP-Adresse an die Netzwerkschnittstelle binden und Glassfish explizit an die erste IP und nginx an die zweite IP binden.
Sobald eine beliebige Anwendung auf 0.0.0.0:80
den Port lauscht, wird dieser für alle anderen Anwendungen gesperrt.
Sobald Sie dies getan haben, können Sie nginx anweisen, nur auf einer bestimmten Adresse zu lauschen, indem Sie den bind
Parameter in der listen
Direktive wie folgt verwenden: listen 192.0.2.1:80 bind
Dies ist ein IP-Socket-Thema, nicht nur ein Konfigurationsthema.