Encerramento HTTPS em EC2 instâncias que executam Java SE - AWS Elastic Beanstalk

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

Encerramento HTTPS em EC2 instâncias que executam Java SE

Para tipos de contêiner Java SE, você ativa HTTPS com um arquivo de configuração.ebextensions e um arquivo de configuração nginx que configura o servidor nginx a ser usado. HTTPS

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. Configurando o proxy reverso no Elastic Beanstalk

Adicione o seguinte trecho ao seu arquivo de configuração, substituindo os espaços reservados do certificado e da chave privada como instruído, e salve-o no diretório .ebextensions. O arquivo de configuração executa as seguintes tarefas:

  • A chave files cria os seguintes arquivos na instância:

    /etc/pki/tls/certs/server.crt

    Cria o arquivo de certificado na instância. Substituir certificate file contents com o conteúdo do seu certificado.

    nota

    YAMLdepende de uma indentação consistente. Compare o nível de recuo ao substituir o conteúdo em um arquivo de configuração de exemplo e se confira se o editor de texto usa espaços, e não caracteres de tabulação, como recuo.

    Se você tiver certificados intermediários, inclua-os no server.crt depois do certificado do site.

    -----BEGIN CERTIFICATE----- certificate file contents -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- first intermediate certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- second intermediate certificate -----END CERTIFICATE-----
    /etc/pki/tls/certs/server.key

    Cria o arquivo de chave privada na instância. Substituir private key contents com o conteúdo da chave privada usada para criar a solicitação de certificado ou o certificado autoassinado.

  • A chave container_commands reinicia o servidor nginx depois que tudo é configurado para o servidor carregar o arquivo de configuração nginx.

exemplo .ebextensions/https-instance.config
files: /etc/pki/tls/certs/server.crt: content: | -----BEGIN CERTIFICATE----- certificate file contents -----END CERTIFICATE----- /etc/pki/tls/certs/server.key: content: | -----BEGIN RSA PRIVATE KEY----- private key contents # See note below. -----END RSA PRIVATE KEY----- container_commands: 01restart_nginx: command: "service nginx restart"
nota

Evite confirmar um arquivo de configuração que contenha sua chave privada para o controle de origem. Depois que você tiver testado a configuração e confirmado se ela está funcionando, armazene a chave privada no Amazon S3 e modifique a configuração para fazer download dele durante a implantação. Para obter instruções, consulte Armazenar chaves privadas com segurança no Amazon S3.

Insira o seguinte em um arquivo com a extensão .conf no diretório .ebextensions/nginx/conf.d/ do seu pacote de origem (ex. .ebextensions/nginx/conf.d/https.conf). Substituir app_port com o número da porta que seu aplicativo escuta. Este exemplo configura o servidor nginx para escutar na porta 443 usando o. SSL Para obter mais informações sobre esses arquivos de configuração na plataforma Java SE, consulte Configurar o proxy reverso.

exemplo .ebextensions/nginx/conf.d/https.conf
# HTTPS server server { listen 443; server_name localhost; ssl on; ssl_certificate /etc/pki/tls/certs/server.crt; ssl_certificate_key /etc/pki/tls/certs/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:app_port; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }

Em um ambiente de instância única, você também deve modificar o grupo de segurança da instância para habilitar o tráfego na porta 443. O arquivo de configuração a seguir recupera o ID do grupo de segurança usando um AWS CloudFormation função e adiciona uma regra a ela.

exemplo .ebextensions/ .config https-instance-single
Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0

Para um ambiente com balanceamento de carga, você configura o balanceador de carga para passar tráfego seguro intocado ou descriptografar e recriptografar para criptografia. end-to-end