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á.
Configuração de proxy reverso
Todas as versões de plataformas Amazon Linux 2 e Amazon Linux 2023 usam o nginx como servidor de proxy reverso padrão. As plataformas Tomcat, Node.js, PHP e Python também oferecem suporte ao Apache HTTPD como uma alternativa. Para selecionar o Apache nessas plataformas, defina a opção ProxyServer
no namespace aws:elasticbeanstalk:environment:proxy
como apache
. Todas as plataformas habilitam a configuração do servidor de proxy de forma uniforme, conforme descrito nesta seção.
nota
Nas versões da plataforma da AMI do Amazon Linux (anteriores ao Amazon Linux 2), talvez seja necessário configurar servidores de proxy de forma diferente. É possível encontrar esses detalhes legados nos respectivos tópicos de plataforma neste guia.
O Elastic Beanstalk configura o servidor de proxy nas instâncias do ambiente para encaminhar o tráfego da Web para a aplicação Web principal no URL raiz do ambiente; por exemplo, http://my-env.elasticbeanstalk.com
.
Por padrão, o Elastic Beanstalk configura o proxy para encaminhar solicitações recebidas na porta 80 para a aplicação Web principal na porta 5000. Você pode configurar esse número de porta definindo a propriedade PORT
do ambiente usando o namespace aws:elasticbeanstalk:application:environment em um arquivo de configuração, conforme mostrado no exemplo a seguir.
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: PORT
value: <main_port_number>
Para obter mais informações sobre como configurar variáveis de ambiente para o aplicativo, consulte Configurações de opção.
Seu aplicativo deve ter como base a porta que está configurada para ele no proxy. Se você alterar a porta padrão usando a propriedade PORT
do ambiente, seu código poderá acessá-la ao ler o valor da variável PORT
do ambiente. Por exemplo, chame os.Getenv("PORT")
em Go ou System.getenv("PORT")
em Java. Se você configurar o proxy para enviar tráfego para vários processos de aplicativo, será possível configurar várias propriedades de ambiente e usar seus valores na configuração de proxy e no código do aplicativo. Outra opção é passar o valor da porta para o processo como um argumento de comando no Procfile
. Para ter mais informações, consulte Buildfile e Procfile.
Configurar o nginx
O Elastic Beanstalk usa o nginx como proxy reverso padrão para mapear sua aplicação para o balanceador de carga do Elastic Load Balancing. O Elastic Beanstalk oferece uma configuração de nginx padrão que pode ser estendida ou substituída completamente por sua própria configuração.
nota
Ao adicionar ou editar um arquivo de configuração .conf
do nginx, codifique-o como UTF-8.
Para estender a configuração nginx padrão do Elastic Beanstalk, adicione arquivos de configuração .conf
a uma pasta denominada .platform/nginx/conf.d/
no pacote de origem da sua aplicação. A configuração nginx do Elastic Beanstalk inclui arquivos .conf
nesta pasta automaticamente.
~/workspace/my-app/
|-- .platform
| `-- nginx
| `-- conf.d
| `-- myconf.conf
`-- other source files
Para substituir completamente a configuração nginx padrão do Elastic Beanstalk, inclua uma configuração em seu pacote de origem em .platform/nginx/nginx.conf
.
~/workspace/my-app/
|-- .platform
| `-- nginx
| `-- nginx.conf
`-- other source files
Se você substituir a configuração nginx do Elastic Beanstalk, adicione a linha a seguir ao seu 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;
Configurar o Apache HTTPD
As plataformas Tomcat, Node.js, PHP e Python permitem escolher o servidor de proxy Apache HTTPD como uma alternativa ao nginx. Esse não é o padrão. O exemplo a seguir configura o Elastic Beanstalk para usar o Apache HTTPD.
exemplo .ebextensions/httpd-proxy.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
É possível estender a configuração padrão do Apache do Elastic Beanstalk com seus arquivos de configuração adicionais. Também há opção de substituir completamente a configuração padrão do Apache do Elastic Beanstalk.
Para estender a configuração padrão do Apache do Elastic Beanstalk, adicione arquivos de configuração .conf
a uma pasta chamada .platform/httpd/conf.d
no pacote de origem da aplicação. A configuração do Apache do Elastic Beanstalk inclui os arquivos .conf
nessa pasta automaticamente.
~/workspace/my-app/
|-- .ebextensions
| -- httpd-proxy.config
|-- .platform
| -- httpd
| -- conf.d
| -- port5000.conf
| -- ssl.conf
-- index.jsp
Por exemplo, a configuração do Apache 2.4 a seguir adiciona um ouvinte na porta 5000.
exemplo .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>
Para substituir completamente a configuração padrão do Apache do Elastic Beanstalk, inclua uma configuração no pacote de origem em .platform/httpd/conf/httpd.conf
.
~/workspace/my-app/
|-- .ebextensions
| -- httpd-proxy.config
|-- .platform
| `-- httpd
| `-- conf
| `-- httpd.conf
`-- index.jsp
nota
Se você substituir a configuração do Apache do Elastic Beanstalk, adicione as linhas a seguir ao httpd.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.
IncludeOptional conf.d/elasticbeanstalk/*.conf