

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
<a name="platforms-linux-extend.proxy"></a>

Alle Amazon-Linux-2- und Amazon-Linux-2023-Plattformversionen nutzen nginx als standardmäßigen Reverse-Proxy-Server. Die Plattformen Tomcat, Node.js, PHP und Python unterstützen ebenfalls Apache HTTPD als Alternative. 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**  
Im Fall von Amazon Linux AMI-Plattformversionen (vor Amazon Linux 2) müssen Sie Proxy-Server möglicherweise auf eine andere Art konfigurieren. Diese Legacy-Details finden Sie in den [jeweiligen Plattform-Themen](concepts-all-platforms.md) in diesem Handbuch.

Elastic Beanstalk konfiguriert den Proxyserver auf den Instances Ihrer Umgebung, um Webdatenverkehr an die Hauptwebanwendung über die Stamm-URL der Umgebung weiterzuleiten, z. B. `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](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment) 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](ebextensions-optionsettings.md).

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](platforms-linux-extend.build-proc.md).

## Konfigurieren von nginx
<a name="platforms-linux-extend.proxy.nginx"></a>

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`-Konfigurationsdatei von nginx hinzufügen oder bearbeiten, müssen Sie sie als UTF-8 codieren.

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
```

Konfigurationsdateien in `.platform/nginx/conf.d/` sind im `http` Block der Nginx-Konfiguration enthalten. Verwenden Sie diesen Speicherort für Konfigurationen, die global gelten.

Um die standardmäßige `server` Nginx-Blockkonfiguration zu erweitern, fügen Sie `.conf` Konfigurationsdateien zu einem Ordner hinzu, der `.platform/nginx/conf.d/elasticbeanstalk/` in Ihrem Anwendungsquellpaket benannt ist. Die Elastic Beanstalk-Nginx-Konfiguration umfasst `.conf` Dateien in diesem Ordner innerhalb des Blocks. `server`

```
~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- elasticbeanstalk
|               `-- server.conf
`-- other source files
```

Verwenden Sie diesen Speicherort, um serverspezifische Konfigurationen hinzuzufügen, z. B. zusätzliche Speicherortblöcke, benutzerdefinierte Fehlerseiten oder Direktiven auf Serverebene. Im folgenden Beispiel wird ein benutzerdefinierter Standortblock hinzugefügt.

**Example . platform/nginx/conf.d/elasticbeanstalk/server.conf**  

```
location /test {
    return 200 "Hello World!";
    add_header Content-Type text/plain;
}
```

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 [Verbesserte Gesundheitsberichterstattung und Überwachung in Elastic Beanstalk](health-enhanced.md), automatische Anwendungszuweisungen und statische Dateien einbezogen werden.

```
 include conf.d/elasticbeanstalk/*.conf;
```

## Konfigurieren von Apache HTTPD
<a name="platforms-linux-extend.proxy.httpd"></a>

Die Plattformen Tomcat, Node.js, PHP und Python ermöglichen Ihnen die Auswahl des Apache-HTTPD-Proxy-Servers als Alternative zu nginx. Dies ist nicht die Standardoption. Im folgenden Beispiel wird Elastic Beanstalk für die Verwendung von Apache HTTPD konfiguriert.

**Example .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:  

**Example . 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 eine Konfiguration in das Quellpaket ei `.platform/httpd/conf/httpd.conf`.  

```
~/workspace/my-app/
|-- .ebextensions
|   -- httpd-proxy.config
|-- .platform
|   `-- 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 Elastic-Beanstalk-Konfigurationen für [Verbesserte Gesundheitsberichterstattung und Überwachung in Elastic Beanstalk](health-enhanced.md), automatische Anwendungszuweisungen und statische Dateien einbezogen werden.  

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