

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 de HTTPS em EC2 instâncias que executam Go
<a name="https-singleinstance-go"></a>

Para os tipos de contêiner Go, você habilita o HTTPS com um [arquivo de configuração](ebextensions.md) e um arquivo de configuração nginx que configura o servidor nginx para usar HTTPS.

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` do pacote de origem. O arquivo de configuração executa as seguintes tarefas:
+ A chave `Resources` habilita a porta 443 no security group usado pela instância do seu ambiente. 
+ 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.
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. *private key contents*Substitua pelo conteúdo da chave privada usada para criar a solicitação de certificado ou o certificado autoassinado. 

**Example .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-----
```

**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).

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`). *app\$1port*Substitua pelo número da porta que seu aplicativo escuta. Este exemplo configura o servidor nginx para escutar na porta 443 usando SSL. Para obter mais informações sobre esses arquivos de configuração na plataforma Go, consulte [Configurar o servidor de proxy](go-nginx.md).

**Example . 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 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