

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
<a name="nodejs-platform-proxy"></a>

Elastic Beanstalk kann NGINX oder Apache-HTTPD als Reverse-Proxy verwenden, um die Anwendung dem Load Balancer von Elastic Load Balancing auf Port 80 zuzuweisen. Der Standardwert ist NGINX. Elastic Beanstalk bietet eine Proxy-Standard-Proxykonfiguration, die Sie entweder erweitern oder gänzlich mit einer eigenen Konfiguration überschreiben können.

Standardmäßig wird der Proxy von Elastic Beanstalk für die Weiterleitung von Anforderungen an die Anwendung auf Port 5000 konfiguriert. Sie können den Standardport überschreiben, indem Sie für die `PORT`-[Umgebungseigenschaft](create_deploy_nodejs.container.md#nodejs-platform-console) den Überwachungsport Ihrer Hauptanwendung festlegen.

**Anmerkung**  
Der Port, den Ihre Anwendung überwacht, hat keinen Einfluss auf den Port, den der NGINX-Server überwacht, um Anfragen vom Load Balancer zu empfangen.

**Konfigurieren des Proxy-Servers auf Ihrer Plattformversion**  
Alle AL2023 AL2 /-Plattformen unterstützen eine einheitliche Proxy-Konfigurationsfunktion. Weitere Informationen zur Konfiguration des Proxyservers auf Ihren Plattformversionen, auf denen AL2023/ausgeführt wirdAL2, finden Sie unter[Reverse-Proxy-Konfiguration](platforms-linux-extend.proxy.md). 

## Konfigurieren des Proxys in Amazon Linux AMI (Vorgängerversion von Amazon Linux 2)
<a name="nodejs-platform-proxy.alami"></a>

Wenn Ihre Elastic Beanstalk Node.js-Umgebung eine Amazon-Linux-AMI-Plattformversion verwendet (Vorgängerversion von Amazon Linux 2), lesen Sie die Informationen in diesem Abschnitt.

**Hinweise**  
Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/AL2 Plattformbranches sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und *erfordern andere Konfigurationseinstellungen*.
 [Am 18. Juli 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **hat Elastic Beanstalk den Status aller Plattformbranches, 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](using-features.migration-al.md).

### Erweiterung und Außerkraftsetzung der Standard-Proxykonfiguration — Amazon Linux AMI () AL1
<a name="nodejs-platform-proxy.alami.extending"></a>

Die Node.js-Plattform verwendet einen Reverse-Proxy-Server, um Anforderungen von Port 80 auf der Instance an die Anwendung weiterzuleiten, welche Port 8081 überwacht. Elastic Beanstalk bietet eine Proxy-Standard-Proxykonfiguration, die Sie entweder erweitern oder gänzlich mit einer eigenen Konfiguration überschreiben können.

Um die Standardkonfiguration zu erweitern, fügen Sie `.conf`-Dateien zu `/etc/nginx/conf.d` mit einer Konfigurationsdatei hinzu. Ein spezifisches Beispiel finden Sie unter [Beenden von HTTPS auf EC2-Instances, auf denen Node.js ausgeführt wird](https-singleinstance-nodejs.md).

Die Node.js-Plattform legt die PORT-Umgebungsvariable auf den Port fest, an den der Proxy-Server den Datenverkehr weiterleitet. Lesen Sie diese Variable in Ihrem Code, um den Port Ihrer Anwendung zu konfigurieren.

```
    var port = process.env.PORT || 3000;

    var server = app.listen(port, function () {
        console.log('Server running at http://127.0.0.1:' + port + '/');
    });
```

Die standardmäßige NGINX-Konfiguration leitet Datenverkehr an einen Upstream-Server mit dem Namen `nodejs` auf `127.0.0.1:8081` weiter. Sie können die Standardkonfiguration entfernen und Ihre eigene in einer [Konfigurationsdatei](ebextensions.md) bereitstellen.

**Example .ebextensions/proxy.config**  
Im folgenden Beispiel wird die Standard-Konfiguration entfernt und eine benutzerdefinierte Konfiguration hinzugefügt, die Datenverkehr an Port 5000 anstatt an 8081 weiterleitet.  

```
files:
  /etc/nginx/conf.d/proxy.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      upstream nodejs {
        server 127.0.0.1:5000;
        keepalive 256;
      }

      server {
        listen 8080;

        if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2})") {
            set $year $1;
            set $month $2;
            set $day $3;
            set $hour $4;
        }
        access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd;
        access_log  /var/log/nginx/access.log  main;

        location / {
            proxy_pass  http://nodejs;
            proxy_set_header   Connection "";
            proxy_http_version 1.1;
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        gzip on;
        gzip_comp_level 4;
        gzip_types text/html text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        location /static {
            alias /var/app/current/static;
        }

      }

  /opt/elasticbeanstalk/hooks/configdeploy/post/99_kill_default_nginx.sh:
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash -xe
      rm -f /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf
      service nginx stop 
      service nginx start

container_commands:
  removeconfig:
    command: "rm -f /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf"
```
Die Beispielkonfiguration (`/etc/nginx/conf.d/proxy.conf`) verwendet die Standardkonfiguration unter `/etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf` als Basis, um den Standard-Serverblock mit Komprimierungs- und Protokolleinstellungen und eine statische Dateizuordnung einzuschließen.  
Der `removeconfig`-Befehl entfernt die Standardkonfiguration für den Container, um sicherzustellen, dass der Proxy-Server die benutzerdefinierte Konfiguration verwendet. Elastic Beanstalk erstellt die Standardkonfiguration während jeder Konfigurationsbereitstellung neu. Um dies zu berücksichtigen, wird im folgenden Beispiel ein post-configuration-deployment Hook (`/opt/elasticbeanstalk/hooks/configdeploy/post/99_kill_default_nginx.sh`) hinzugefügt. Dadurch wird die Standardkonfiguration entfernt und der Proxy-Server neu gestartet.

**Anmerkung**  
Die Standardkonfiguration kann sich in späteren Versionen der Node.js-Plattform ändern. Verwenden Sie die neueste Version der Konfiguration als Grundlage für Ihre Anpassungen, um Kompatibilität sicherzustellen.

Wenn Sie die Standardkonfiguration überschreiben, müssen Sie alle statischen Dateizuordnungen und die GZIP-Komprimierung definieren. Das liegt daran, dass die Plattform die [Standardeinstellungen](create_deploy_nodejs.container.md#nodejs-namespaces) nicht anwenden kann.