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 proxy inverse
Elastic Beanstalk utilise nginx
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 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 plateformes AL2023/AL2 prennent en charge une fonctionnalité de configuration de proxy uniforme. Pour en savoir plus sur la configuration du serveur proxy sur vos versions de plateforme exécutant AL2023/AL2, développez la section Configuration de proxy inverse dans Extension des plateformes Linux Elastic Beanstalk.
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 plateforme basées sur l'AMI Amazon Linux (AL1). Les branches de plateforme AL2023/AL2 sont incompatibles avec les versions de plateforme précédentes de l'AMI Amazon Linux (AL1) et nécessitent des paramètres de configuration différents.
-
Le 18 juillet 2022, Elastic Beanstalk définira les statuts de toutes les branches de plateforme basées sur une AMI Amazon Linux (AL1) sur mise hors service. 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.
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 Surveillance et création de rapports d'intégrité améliorée, 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 Scorekeeppublic
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.
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; } }