

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á.

# Configurar o servidor de proxy
<a name="java-se-nginx"></a>

O Elastic Beanstalk usa o [nginx](https://www.nginx.com/) como proxy reverso para mapear sua aplicação para o balanceador de carga do Elastic Load Balancing na porta 80. O Elastic Beanstalk oferece uma configuração nginx padrão que você pode estender ou substituir completamente por sua própria configuração.

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](java-se-platform.md#java-se-options) `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 AL2 plataformas AL2 023/ suportam um recurso de configuração de proxy uniforme. Para obter mais informações sobre como configurar o servidor proxy nas versões da sua plataforma executando AL2 023/AL2, consulte. [Configuração de proxy reverso](platforms-linux-extend.proxy.md) 

## Configurar o proxy da AMI do Amazon Linux (anterior ao Amazon Linux 2)
<a name="java-se-nginx.alami"></a>

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 se aplicam somente às ramificações da plataforma baseadas no Amazon Linux AMI (AL1). AL2As ramificações AL2 da plataforma 023/ são incompatíveis com as versões anteriores da plataforma Amazon Linux AMI (AL1) e *exigem configurações diferentes*.
 [Em 18 de julho de 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **o Elastic Beanstalk definiu o status de todas as ramificações da 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](using-features.migration-al.md).

### Estendendo e substituindo a configuração padrão do proxy — Amazon Linux AMI () AL1
<a name="java-se-nginx.alami.extending"></a>

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 no Elastic Beanstalk](health-enhanced.md), 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 Scorekeep](https://github.com/aws-samples/eb-java-scorekeep/) substitui a configuração padrão do Elastic Beanstalk para atender a uma aplicação Web estática do subdiretório `public` 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.

**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;
  }
}
```