

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 Node.js
<a name="https-singleinstance-nodejs"></a>

O exemplo de arquivo de configuração a seguir [estende a configuração padrão do nginx](nodejs-platform-proxy.md) para escutar na porta 443 e SSL/TLS encerrar conexões com um certificado público e uma chave privada.

Se você configurou seu ambiente para [relatórios de saúde aprimorados](health-enhanced.md), precisará configurar o nginx para gerar logs de acesso. Para fazer isso, apague a escrita do bloco de linhas sob o comentário `# For enhanced health...` removendo o `#` inicial.

**Example .ebextensions/https-instance.config**  

```
files:
  /etc/nginx/conf.d/https.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      # 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;

          # For enhanced health reporting support, uncomment this block:

          #if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2})") {
          #    set $year $1;
          #    set $month $2;
          #    set $day $3;
          #    set $hour $4;
          #}
          #access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd;
          #access_log  /var/log/nginx/access.log  main;
          
          location / {
              proxy_pass  http://nodejs;
              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;
          }
      }
      
  /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-----
```

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

`/etc/nginx/conf.d/https.conf`  
Configura o servidor nginx. Este arquivo é carregado quando o serviço do nginx é iniciado.

`/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. 

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