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á.
Encerrar o HTTPS em instâncias do EC2 que executam Tomcat
Para os tipos de contêiner Tomcat, você usa um arquivo de configuração para habilitar o Apache HTTP Server a usar HTTPS ao atuar como proxy reverso para o Tomcat.
Adicione o seguinte trecho ao seu arquivo de configuração, substituindo o material de certificado e de chave privada como instruído, e salve-o no diretório .ebextensions
do seu pacote de origem. 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. Substitua o
conteúdo do arquivo de certificado
pelo conteúdo do seu certificado.nota
YAML depende de um recuo 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.
/etc/pki/tls/certs/server.key
-
Cria o arquivo de chave privada na instância. Substitua o
conteúdo da chave privada
pelo conteúdo da chave privada usada para criar a solicitação de certificado ou o certificado autoassinado. /opt/elasticbeanstalk/hooks/appdeploy/post/99_start_httpd.sh
-
Cria um gancho de implantação pós-script para reiniciar o serviço httpd.
exemplo .ebextensions/https-instance.config
files:
/etc/pki/tls/certs/server.crt:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN CERTIFICATE-----
certificate file contents
-----END CERTIFICATE-----
/etc/pki/tls/certs/server.key:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN RSA PRIVATE KEY-----
private key contents
# See note below.
-----END RSA PRIVATE KEY-----
/opt/elasticbeanstalk/hooks/appdeploy/post/99_start_httpd.sh:
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
sudo service httpd restart
Você também precisa configurar o servidor de proxy do ambiente para escutar na porta 443. A configuração do Apache 2.4 a seguir adiciona um ouvinte na porta 443. Para saber mais, consulte Configurar servidor de proxy do seu ambiente Tomcat.
exemplo .ebextensions/httpd/conf.d/ssl.conf
Listen 443
<VirtualHost *:443>
ServerName server-name
SSLEngine on
SSLCertificateFile "/etc/pki/tls/certs/server.crt"
SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on
ErrorLog /var/log/httpd/elasticbeanstalk-ssl-error_log
</VirtualHost>
O fornecedor do seu certificado pode incluir certificados intermediários que você pode instalar para melhorar a compatibilidade com clientes móveis. Configure o Apache com um pacote de certificate authority (CA – autoridade de certificação) intermediária adicionando o seguinte ao arquivo de configuração SSL (consulte Estendendo e substituindo a configuração padrão do Apache — Amazon Linux () AMI AL1 para saber o local):
-
No conteúdo do arquivo
ssl.conf
, especifique o arquivo de cadeia:SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"
SSLCertificateChainFile "/etc/pki/tls/certs/gd_bundle.crt"
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH -
Adicione uma nova entrada à chave
files
com o conteúdo dos certificados intermediários:files:
/etc/pki/tls/certs/gd_bundle.crt: mode: "000400" owner: root group: root content: | -----BEGIN CERTIFICATE-----
First intermediate certificate
-----END CERTIFICATE----- -----BEGIN CERTIFICATE-----Second intermediate certificate
-----END CERTIFICATE-----
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.
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 seguinte arquivo de configuração recupera a ID do grupo de segurança usando uma função AWS CloudFormation e adiciona uma regra a ela.
exemplo .ebextensions/https-instance-single.config
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, configure o load balancer para passar o tráfego seguro inalterado ou descriptografar e criptografar novamente para criptografia de ponta a ponta.