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.
Reverse-Proxy-Konfiguration
Alle Amazon-Linux-2- und Amazon-Linux-2023-Plattformversionen nutzen nginx als standardmäßigen Reverse-Proxy-Server. Die Tomcat-PHP, Node.js- und Python-Plattformen unterstützen HTTPD als Alternative auch Apache. Um Apache auf diesen Plattformen auszuwählen, legen Sie die Option ProxyServer
im Namespace aws:elasticbeanstalk:environment:proxy
auf apache
fest. Alle Plattformen ermöglichen eine einheitliche Konfiguration des Proxy-Servers wie in diesem Abschnitt beschrieben.
Anmerkung
Auf Amazon AMI Linux-Plattformversionen (vor Amazon Linux 2) müssen Sie Proxy-Server möglicherweise anders konfigurieren. Diese Legacy-Details finden Sie in den jeweiligen Plattform-Themen in diesem Handbuch.
Elastic Beanstalk konfiguriert den Proxyserver auf den Instances Ihrer Umgebung so, dass er Web-Traffic an die Haupt-Webanwendung im Stammverzeichnis URL der Umgebung weiterleitet, zum Beispiel. http://my-env.elasticbeanstalk.com
Standardmäßig wird der Proxy von Elastic Beanstalk so konfiguriert, dass alle Anforderungen an Port 80 an Ihre primäre Webanwendung unter Port 5000 weitergeleitet werden. Sie können diese Portnummer konfigurieren, indem Sie die PORT
-Umgebungseigenschaft mithilfe des Namespace aws:elasticbeanstalk:application:environment in einer Konfigurationsdatei festlegen, wie im folgenden Beispiel gezeigt.
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: PORT
value: <main_port_number>
Weitere Informationen zum Festlegen von Umgebungsvariablen für Ihre Anwendung finden Sie unter Optionseinstellungen.
Ihre Anwendung sollte den Port überwachen, der dafür im Proxy konfiguriert ist. Wenn Sie den Standardport mithilfe der Umgebungseigenschaft PORT
ändern, kann der Code durch Lesen des Wertes der Umgebungsvariablen PORT
darauf zugreifen. Rufen Sie beispielsweise os.Getenv("PORT")
in Go oder System.getenv("PORT")
in Java auf. Wenn Sie Ihren Proxy so konfigurieren, dass Datenverkehr an mehrere Anwendungsprozesse gesendet wird, können Sie mehrere Umgebungseigenschaften konfigurieren und deren Werte sowohl in der Proxykonfiguration als auch in Ihrem Anwendungscode verwenden. Eine weitere Möglichkeit besteht darin, den Port-Wert als Befehlsargument in der Procfile
an den Prozess zu übergeben. Weitere Informationen finden Sie unter Buildfile und Procfile.
Konfigurieren von nginx
Elastic Beanstalk verwendet nginx als Standard-Reverse-Proxy, um die Anwendung dem Elastic Load Balancing-Load Balancer zuzuweisen. Elastic Beanstalk bietet eine nginx-Standardkonfiguration, die Sie erweitern oder gänzlich mit einer eigenen Konfiguration überschreiben können.
Anmerkung
Wenn Sie eine .conf
Nginx-Konfigurationsdatei hinzufügen oder bearbeiten, achten Sie darauf, sie als -8 zu codieren. UTF
Um die nginx-Standardkonfiguration von Elastic Beanstalk zu erweitern, fügen Sie .conf
-Konfigurationsdateien zum Ordner .platform/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/
|-- .platform
| `-- nginx
| `-- conf.d
| `-- myconf.conf
`-- other source files
Um die nginx-Standardkonfiguration von Elastic Beanstalk vollständig zu überschreiben, fügen Sie bei .platform/nginx/nginx.conf
eine Konfiguration in das Quellpaket ein.
~/workspace/my-app/
|-- .platform
| `-- nginx
| `-- nginx.conf
`-- other source files
Wenn Sie die nginx-Konfiguration von Elastic Beanstalk überschreiben, fügen Sie folgende Zeile zu nginx.conf
hinzu, damit die Elastic-Beanstalk-Konfigurationen für Elastic Beanstalk hat die Gesundheitsberichterstattung und -überwachung verbessert, automatische Anwendungszuweisungen und statische Dateien einbezogen werden.
include conf.d/elasticbeanstalk/*.conf;
Apache konfigurieren HTTPD
Auf den Plattformen TomcatPHP, Node.js und Python können Sie den HTTPD Apache-Proxyserver als Alternative zu Nginx wählen. Dies ist nicht die Standardoption. Im folgenden Beispiel wird Elastic Beanstalk für die Verwendung von Apache konfiguriert. HTTPD
Beispiel .ebextensions/httpd-proxy.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
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.
Um die Apache-Standardkonfiguration von Elastic Beanstalk zu erweitern, fügen Sie .conf
-Konfigurationsdateien zum Ordner .platform/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-proxy.config
|-- .platform
| -- httpd
| -- conf.d
| -- port5000.conf
| -- ssl.conf
-- index.jsp
Beispielsweise wird mit der folgenden Apache 2.4-Konfiguration ein Listener auf Port 5000 hinzugefügt:
Beispiel .platform/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 .platform/httpd/conf/httpd.conf
eine Konfiguration in das Quellpaket ein.
~/workspace/my-app/
|-- .ebextensions
| -- httpd-proxy.config
|-- .platform
| `-- httpd
| `-- conf
| `-- httpd.conf
`-- index.jsp
Anmerkung
Wenn Sie die Apache-Konfiguration von Elastic Beanstalk überschreiben, fügen Sie folgende Zeilen zu httpd.conf
hinzu, damit die Elastic-Beanstalk-Konfigurationen für Elastic Beanstalk hat die Gesundheitsberichterstattung und -überwachung verbessert, automatische Anwendungszuweisungen und statische Dateien einbezogen werden.
IncludeOptional conf.d/elasticbeanstalk/*.conf