

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
<a name="https-singleinstance-tomcat"></a>

Para os tipos de contêiner Tomcat, você usa um [arquivo de configuração](ebextensions.md) 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. *certificate file contents*Substitua pelo conteúdo do seu certificado.  
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. *private key contents*Substitua 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.

**Example .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 o servidor de proxy](java-tomcat-proxy.md).

**Example . 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](java-tomcat-proxy.md#java-tomcat-proxy-apache) 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 instruções, consulte [Armazenar chaves privadas com segurança no Amazon S3](https-storingprivatekeys.md).

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 a ID do grupo de segurança usando uma CloudFormation [função](ebextensions-functions.md) e adiciona uma regra a ela.

**Example .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](https-tcp-passthrough.md) e recriptografar para [criptografia](configuring-https-endtoend.md). end-to-end