

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration du serveur proxy
<a name="java-se-nginx"></a>

Elastic Beanstalk utilise [nginx](https://www.nginx.com/) comme proxy inverse pour mapper votre application à votre équilibreur de charge Elastic Load Balancing sur le port 80. Elastic Beanstalk fournit une configuration nginx par défaut que vous pouvez étendre ou remplacer totalement par votre propre configuration.

Par défaut, Elastic Beanstalk configure le serveur proxy nginx pour transmettre les demandes à votre application sur le port 5000. Vous pouvez remplacer le port par défaut en définissant la [propriété d'environnement](java-se-platform.md#java-se-options) `PORT` sur le port que votre application écoute.

**Note**  
Le port que votre application écoute n'affecte pas le port que le serveur nginx écoute pour recevoir des demandes de l'équilibreur de charge.

**Configuration du serveur proxy sur la version de votre plateforme**  
Toutes les AL2 plateformes AL2 023/ prennent en charge une fonctionnalité de configuration de proxy uniforme. Pour plus d'informations sur la configuration du serveur proxy sur les versions de votre plate-forme exécutant AL2 023/AL2, consultez. [Configuration du proxy inverse](platforms-linux-extend.proxy.md) 

## Configuration du proxy sur l'AMI Amazon Linux (antérieure à Amazon Linux 2)
<a name="java-se-nginx.alami"></a>

Si votre environnement Java SE Elastic Beanstalk utilise une version de plate-forme AMI Amazon Linux (antérieure à Amazon Linux 2), lisez les informations supplémentaires dans cette section.

**Remarques**  
Les informations de cette rubrique s'appliquent uniquement aux branches de plate-forme basées sur l'AMI Amazon Linux (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et *nécessitent des paramètres de configuration différents*.
 [Le 18 juillet 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk a défini le statut de toutes les branches de la plateforme sur la base de l'AMI AL1 Amazon Linux () comme étant supprimées.** Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez [Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2](using-features.migration-al.md).

### Extension et remplacement de la configuration du proxy par défaut — Amazon Linux AMI () AL1
<a name="java-se-nginx.alami.extending"></a>

Pour étendre la configuration nginx par défaut d'Elastic Beanstalk, ajoutez les fichiers de configuration `.conf` dans un dossier nommé `.ebextensions/nginx/conf.d/` dans le bundle de fichiers source de votre application. La configuration nginx Elastic Beanstalk inclut automatiquement les fichiers `.conf` dans ce dossier.

```
~/workspace/my-app/
|-- .ebextensions
|   `-- nginx
|       `-- conf.d
|           `-- myconf.conf
`-- web.jar
```

Pour remplacer complètement la configuration nginx Elastic Beanstalk par défaut, incluez une configuration dans votre bundle de fichiers source su `.ebextensions/nginx/nginx.conf`:

```
~/workspace/my-app/
|-- .ebextensions
|   `-- nginx
|       `-- nginx.conf
`-- web.jar
```

Si vous substituez une configuration nginx Elastic Beanstalk, ajoutez la ligne suivante à votre `nginx.conf` pour extraire les configurations Elastic Beanstalk pour [Rapports et surveillance de l'état de santé améliorés dans Elastic Beanstalk](health-enhanced.md), les mappages d'application automatiques et les fichiers statiques.

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

L'exemple de configuration suivant provenant de l'[exemple d'application Scorekeep](https://github.com/aws-samples/eb-java-scorekeep/) remplace la configuration Elastic Beanstalk par défaut pour servir une application web statique depuis le sous-répertoire `public` de `/var/app/current`, où la plateforme Java SE copie le code source de l'application. L'emplacement `/api` achemine le trafic vers des routes sous `/api/` jusqu'à l'application Spring à l'écoute sur le port 5000. Le reste du trafic est servi par l'application web au chemin racine.

**Example**  

```
user                    nginx;
error_log               /var/log/nginx/error.log warn;
pid                     /var/run/nginx.pid;
worker_processes        auto;
worker_rlimit_nofile    33282;

events {
    worker_connections  1024;
}

http {
  include       /etc/nginx/mime.types;
  default_type  application/octet-stream;

  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

  include       conf.d/*.conf;

  map $http_upgrade $connection_upgrade {
      default     "upgrade";
  }

  server {
      listen        80 default_server;
      root /var/app/current/public;

      location / {
      }git pull
      

      location /api {
          proxy_pass          http://127.0.0.1:5000;
          proxy_http_version  1.1;

          proxy_set_header    Connection          $connection_upgrade;
          proxy_set_header    Upgrade             $http_upgrade;
          proxy_set_header    Host                $host;
          proxy_set_header    X-Real-IP           $remote_addr;
          proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
      }

      access_log    /var/log/nginx/access.log main;

      client_header_timeout 60;
      client_body_timeout   60;
      keepalive_timeout     60;
      gzip                  off;
      gzip_comp_level       4;

      # Include the Elastic Beanstalk generated locations
      include conf.d/elasticbeanstalk/01_static.conf;
      include conf.d/elasticbeanstalk/healthd.conf;
  }
}
```