Konfigurieren des Proxy-Servers Ihrer Tomcat-Umgebung - AWS Elastic Beanstalk

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren des Proxy-Servers Ihrer Tomcat-Umgebung

Die Tomcat-Plattform verwendet nginx (die Standardeinstellung) oder Apache HTTP Server als Reverse-Proxy, um Anfragen von Port 80 auf der Instance an Ihren Tomcat Web-Container weiterzuleiten, der auf Port 8080 lauscht. Elastic Beanstalk bietet eine Proxy-Standardkonfiguration, die Sie entweder erweitern oder gänzlich mit einer eigenen Konfiguration überschreiben können.

Konfigurieren des Proxy-Servers auf Ihrer Plattformversion

Alle AL2023/AL2-Plattformen unterstützen eine einheitliche Proxy-Konfigurationsfunktion. Weitere Informationen zum Konfigurieren des Proxy-Servers auf neuen Plattformversionen, die AL2023/AL2 ausführen, finden Sie durch Erweitern des Abschnitts Reverse-Proxy-Konfiguration unter Erweitern von Elastic Beanstalk-Linux-Plattformen.

Falls Ihre Elastic Beanstalk Tomcat-Umgebung eine Amazon Linux AMI-Plattformversion (vor Amazon Linux 2) verwendet, lesen Sie die zusätzlichen Informationen in diesem Abschnitt.

Hinweise
  • Die Informationen in diesem Thema beziehen sich nur auf Plattformverzweigungen auf Basis von Amazon Linux AMI (AL1). AL2023/AL2-Plattformzweige sind mit früheren Plattformversionen von Amazon Linux AMI (AL1) inkompatibel und erfordern andere Konfigurationseinstellungen.

  • Am 18. Juli 2022 stellte Elastic Beanstalk den Status aller Plattformzweige auf Basis von Amazon-Linux-AMI (AL1) auf außer Betrieb genommen. Weitere Informationen zur Migration zu einem aktuellen und vollständig unterstützten Plattformzweig für Amazon Linux 2023 finden Sie unter Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2.

Tomcat-Plattformversionen, die auf Amazon Linux-AMIs (vor Amazon Linux 2) basieren, verwenden standardmäßig Apache 2.4 für den Proxy. Sie können Apache 2.2 oder nginx verwenden, indem Sie eine Konfigurationsdatei in Ihren Quellcode einbinden. Im folgenden Beispiel wird Elastic Beanstalk für die Verwendung von nginx konfiguriert.

Beispiel .ebextensions/nginx-proxy.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: nginx

Wenn Ihre Anwendung für Apache 2.2 entwickelt wurde, lesen Sie diesen Abschnitt, um mehr über die Migration zu Apache 2.4 zu erfahren.

Beginnend mit Tomcat-Plattform Version 3.0.0- Konfigurationen, die mit der Java mit Tomcat-Plattformaktualisierung am 24. Mai 2018 veröffentlicht wurden, ist Apache 2.4 ist der standardmäßige Proxy der Tomcat-Plattform. Die Apache 2.4 .conf-Dateien sind häufig, aber nicht vollständig abwärtskompatibel zu denjenigen von Apache 2.2. Elastic Beanstalk enthält standardmäßige .conf-Dateien, die einwandfrei mit jeder Apache-Version funktionieren. Wenn Ihre Anwendung die Apache-Konfiguration nicht anpasst, wie unter Erweitern und Überschreiben der Standard-Apache-Konfiguration – Amazon Linux AMI (AL1) beschrieben , sollte es bei der Migration zu Apache 2.4 keine Probleme geben.

Wenn Ihre Anwendung die Konfiguration von Apache erweitert oder überschreibt, müssen Sie möglicherweise einige Änderungen vornehmen, um zu Apache 2.4 zu migrieren. Weitere Informationen finden Sie unter Upgrading to 2.4 from 2.2 (Upgrade von 2.2 auf 2.4) auf der Website von Apache Software Foundation. Bis zur erfolgreichen Migration auf Apache 2.4 können Sie den Apache 2.2 mit Ihrer Anwendung verwenden, indem Sie die folgende Konfigurationsdatei in Ihren Quellcode aufnehmen.

Beispiel .ebextensions/apache-legacy-proxy.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: apache/2.2

Für eine schnelle Lösung können Sie auch den Proxy-Server in der Elastic Beanstalk-Konsole auswählen.

So wählen Sie den Proxy-Server in Ihrer Tomcat-Umgebung in der Elastic Beanstalk-Konsole aus:
  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Updates, monitoring and logging  (Updates, Überwachung und Protokolle) die Option Edit (Bearbeiten) aus.

  5. Für Proxy-Server wählen Sie Apache 2.2 (deprecated).

  6. Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.

Auswahl eines Proxys für eine Tomcat-Umgebung in der Kategorie für Software-Konfiguration in der Elastic Beanstalk-Konsole

Sie können die Elastic Beanstalk-Apache-Standardkonfiguration mit Ihren zusätzlichen Konfigurationsdateien erweitern. Alternativ können Sie die Apache-Standardkonfiguration von Elastic Beanstalk vollständig überschreiben.

Anmerkung

Um die Apache-Standardkonfiguration von Elastic Beanstalk zu erweitern, fügen Sie .conf-Konfigurationsdateien zum Ordner .ebextensions/httpd/conf.d im Quell-Bundle der Anwendung hinzu. Die Apache-Konfiguration von Elastic Beanstalk fügt .conf-Dateien automatisch zu diesem Ordner hinzu.

~/workspace/my-app/ |-- .ebextensions | -- httpd | -- conf.d | -- myconf.conf | -- ssl.conf -- index.jsp

Beispielsweise wird mit der folgenden Apache 2.4-Konfiguration ein Listener auf Port 5000 hinzugefügt:

Beispiel .ebextensions/httpd/conf.d/port5000.conf
listen 5000 <VirtualHost *:5000> <Proxy *> Require all granted </Proxy> ProxyPass / http://localhost:8080/ retry=0 ProxyPassReverse / http://localhost:8080/ ProxyPreserveHost on ErrorLog /var/log/httpd/elasticbeanstalk-error_log </VirtualHost>

Um die Apache-Standardkonfiguration von Elastic Beanstalk vollständig zu überschreiben, fügen Sie bei eine Konfiguration in das Quellpaket ei .ebextensions/httpd/conf/httpd.conf.

~/workspace/my-app/ |-- .ebextensions | `-- httpd | `-- conf | `-- httpd.conf `-- index.jsp

Wenn Sie die Apache-Konfiguration von Elastic Beanstalk überschreiben, fügen Sie folgende Zeilen zu httpd.conf hinzu, damit die Konfigurationen von Elastic Beanstalk für Erweiterte Zustandsberichte und Überwachung, Antwortkomprimierungen und statische Dateien einbezogen werden.

IncludeOptional conf.d/*.conf IncludeOptional conf.d/elasticbeanstalk/*.conf

Wenn Ihre Umgebung Apache 2.2 als Proxy verwendet, ersetzen Sie die IncludeOptional-Anweisungen durch Include. Weitere Informationen über das Verhalten dieser beiden Anweisungen in den beiden Apache-Versionen finden Sie unter Include in Apache 2.4, IncludeOptional in Apache 2.4 und Include in Apache 2.2.

Anmerkung

Um den Standard-Listener auf Port 80 zu überschreiben, binden Sie eine Datei mit dem Namen 00_application.conf bei .ebextensions/httpd/conf.d/elasticbeanstalk/ ein, um die Konfiguration von Elastic Beanstalk zu überschreiben.

Ein funktionierendes Beispiel für die Elastic Beanstalk-Standardkonfigurationsdatei finden Sie unter /etc/httpd/conf/httpd.conf auf einer Umgebungs-Instance. Alle Dateien im Ordner .ebextensions/httpd des Quell-Bundles werden bei Bereitstellungen in /etc/httpd kopiert.

Um die nginx-Standardkonfiguration von Elastic Beanstalk zu überschreiben, fügen Sie .conf-Konfigurationsdateien zum Ordner .ebextensions/nginx/conf.d/ im Quell-Bundle der Anwendung hinzu. Die nginx-Konfiguration von Elastic Beanstalk fügt .conf-Dateien automatisch zu diesem Ordner hinzu.

~/workspace/my-app/ |-- .ebextensions | `-- nginx | `-- conf.d | |-- elasticbeanstalk | | `-- my-server-conf.conf | `-- my-http-conf.conf `-- index.jsp

Dateien mit der Erweiterung ".conf" im Ordner conf.d sind im http-Block der Standardkonfiguration enthalten. Dateien im Ordner conf.d/elasticbeanstalk befinden sich im server-Block innerhalb des http-Blocks.

Um die nginx-Standardkonfiguration von Elastic Beanstalk vollständig zu überschreiben, fügen Sie bei eine Konfiguration in das Quellpaket ei .ebextensions/nginx/nginx.conf.

~/workspace/my-app/ |-- .ebextensions | `-- nginx | `-- nginx.conf `-- index.jsp
Hinweise
  • Wenn Sie die nginx-Konfiguration von Elastic Beanstalk überschreiben, fügen Sie folgende Zeile zum server-Block der Konfiguration hinzu, damit die Konfigurationen von Elastic Beanstalk für den Listener auf Port 80, Antwortkomprimierungen und statische Dateien einbezogen werden.

    include conf.d/elasticbeanstalk/*.conf;
  • Um den Standard-Listener auf Port 80 zu überschreiben, binden Sie eine Datei mit dem Namen 00_application.conf bei .ebextensions/nginx/conf.d/elasticbeanstalk/ ein, um die Konfiguration von Elastic Beanstalk zu überschreiben.

  • Fügen Sie zudem die folgende Zeile in den httpBlock der Konfiguration ein, damit die Konfigurationen von Elastic Beanstalk für Erweiterte Zustandsberichte und Überwachung und Protokollierung einbezogen werden.

    include conf.d/*.conf;

Ein funktionierendes Beispiel für die Elastic Beanstalk-Standardkonfigurationsdatei finden Sie unter /etc/nginx/nginx.conf auf einer Umgebungs-Instance. Alle Dateien im Ordner .ebextensions/nginx des Quell-Bundles werden bei Bereitstellungen in /etc/nginx kopiert.