Konfigurieren des Proxy-Server - 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-Server

Die Tomcat-Plattform verwendet Nginx (Standard) oder Apache HTTP Server als Reverse-Proxy, um Anfragen von Port 80 auf der Instance an Ihren Tomcat-Webcontainer weiterzuleiten, der auf Port 8080 wartet. 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 AL2 023/ AL2 -Plattformen unterstützen eine einheitliche Proxykonfigurationsfunktion. Weitere Informationen zur Konfiguration des Proxyservers auf Ihren Plattformversionen, auf denen AL2 AL2 023/ ausgeführt wird, finden Sie unter. Reverse-Proxy-Konfiguration

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

Hinweise
  • Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/ AL2 Plattformzweige sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und erfordern andere Konfigurationseinstellungen.

  • Am 18. Juli 2022 hat Elastic Beanstalk den Status aller Plattformbranchen, die auf Amazon Linux AMI (AL1) basieren, auf eingestellt gesetzt. 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 AMI (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 Erweiterung und Außerkraftsetzung der Apache-Standardkonfiguration — 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 .ebeextensions/ .config apache-legacy-proxy
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 Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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 Elastic Beanstalk hat die Gesundheitsberichterstattung und -überwachung verbessert, 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. Einzelheiten zum Verhalten dieser beiden Direktiven 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 Elastic Beanstalk hat die Gesundheitsberichterstattung und -überwachung verbessert 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.