As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O Elastic Beanstalk usa o nginx
Por padrão, o Elastic Beanstalk configura o proxy nginx para encaminhar solicitações à sua aplicação na porta 5000. Você pode substituir a porta padrão definindo a propriedade do ambiente PORT
para a porta de escuta do seu aplicativo principal.
nota
A porta que seu aplicativo escuta não afeta a porta na qual o servidor nginx escuta para receber solicitações do balanceador de carga.
Configurar o servidor proxy na sua versão da plataforma
Todas as plataformas AL2023/AL2 oferecem suporte a um recurso de configuração de proxy uniforme. Para obter mais informações sobre como configurar o servidor proxy em versões de plataforma que executam o AL2023/AL2, consulte Configuração de proxy reverso.
Se o seu ambiente Java SE do Elastic Beanstalk usa uma versão da plataforma da AMI do Amazon Linux (anterior ao Amazon Linux 2), leia as informações adicionais nesta seção.
Observações
-
As informações neste tópico somente são aplicáveis a ramificações de plataforma com base na Amazon Linux AMI (AL1). As ramificações de plataforma AL2023/AL2 são incompatíveis com as versões anteriores da plataforma Amazon Linux AMI (AL1) e exigem definições de configuração diferentes.
-
Em 18 de julho de 2022, o Elastic Beanstalk definiu o status de todas as ramificações de plataforma baseadas no Amazon Linux AMI (AL1) como descontinuadas. Para obter mais informações sobre como migrar para uma ramificação da plataforma Amazon Linux 2023 atual e totalmente compatível, consulte Migrar a aplicação Linux do Elastic Beanstalk para o Amazon Linux 2023 ou Amazon Linux 2.
Para estender a configuração padrão do nginx do Elastic Beanstalk, adicione arquivos de configuração .conf
a uma pasta denominada .ebextensions/nginx/conf.d/
no pacote de origem da sua aplicação. A configuração nginx do Elastic Beanstalk inclui os arquivos .conf
nessa pasta automaticamente.
~/workspace/my-app/
|-- .ebextensions
| `-- nginx
| `-- conf.d
| `-- myconf.conf
`-- web.jar
Para substituir completamente a configuração nginx padrão do Elastic Beanstalk, inclua uma configuração em seu pacote de origem em .ebextensions/nginx/nginx.conf
:
~/workspace/my-app/
|-- .ebextensions
| `-- nginx
| `-- nginx.conf
`-- web.jar
Se você substituir a configuração nginx do Elastic Beanstalk, adicione a linha a seguir ao arquivo nginx.conf
para extrair as configurações do Elastic Beanstalk para Relatórios e monitoramento de integridade aprimorados do Elastic Beanstalk, mapeamentos automáticos de aplicações e arquivos estáticos.
include conf.d/elasticbeanstalk/*.conf;
A configuração demonstrativa a seguir da aplicação de exemplo Scorekeeppublic
de /var/app/current
, em que a plataforma Java SE copia o código-fonte da aplicação. O local /api
encaminha o tráfego para rotas sob /api/
para o aplicativo Spring que escuta na porta 5000. O restante do tráfego é atendido pelo aplicativo web no caminho raiz.
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;
}
}