Como soluciono problemas com a conexão da minha distribuição do CloudFront com uma origem personalizada por HTTPS?
Eu configurei minha distribuição do Amazon CloudFront para me conectar a uma origem personalizada usando HTTPS. Agora, recebo o erro “O CloudFront não pôde se conectar à Origem” com o código de status HTTP 502 (Bad Gateway).
Resolução
Verifique se o nome de domínio de origem da distribuição do CloudFront corresponde ao nome de domínio do certificado
Verifique se o nome de domínio de origem especificado em sua distribuição do CloudFront corresponde ao nome de domínio em seu certificado SSL/TLS de origem. O nome de domínio de origem da distribuição pode corresponder a qualquer um dos seguintes:
- O nome de domínio especificado como o Nome Comum (CN) do certificado
- O nome de domínio especificado no Nome Alternativo do Assunto (SAN) do certificado
Se o nome de domínio de origem não corresponder a nenhum nome de domínio associado ao seu certificado, o CloudFront retornará o código de status HTTP 502 (Bad Gateway).
Verifique se há alguma autoridade de certificação intermediária ausente
Use um verificador SSL para testar se a cadeia de certificados de sua origem está disponível e não precisa de nenhuma autoridade de certificação intermediária.
Se você estiver usando o Elastic Load Balancing como sua origem personalizada e precisar atualizar a cadeia de certificados, faça o seguinte:
Faça o upload do certificado novamente com a cadeia de certificados correta.
-ou-
Use o AWS Certificate Manager (ACM) para solicitar um certificado público que proteja seu domínio. O ACM é totalmente integrado ao Elastic Load Balancing.
Teste a política de protocolo e as cifras compatíveis com sua origem
Para que o handshake de SSL seja bem-sucedido, sua origem deve suportar as cifras que o CloudFront usa.
Se sua política de protocolo de origem tiver o SSLv3 ativado, o CloudFront usará somente o SSLv3 para se comunicar com sua origem a partir da linha de comando ou do terminal do Windows.
**Observação:**O OpenSSL geralmente está disponível por padrão nos sistemas Linux e macOS. O OpenSSL para Windows está disponível no site do OpenSSL.
Para testar se sua origem é compatível com as cifras que o CloudFront usa, execute os seguintes comandos do OpenSSL.
Se sua política de protocolo de origem estiver definida como SSLv3, execute:
echo | openssl s_client -ssl3 -cipher 'ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443
Se sua origem estiver usando TLS, teste sua origem para cada protocolo usando estes comandos:
Para TLS, execute:
echo | openssl s_client -tls1 -cipher 'ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443 -servername your.origin.domain
Para o TLS 1.1, execute:
echo | openssl s_client -tls1_1 -cipher 'ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443 -servername your.origin.domain
Para o TLS 1.2, execute:
echo | openssl s_client -tls1_2 -cipher 'ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 AES256-SHA AES128-SHA DES-CBC3-SHA RC4-MD5 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA' -connect your.origin.domain:443 -servername your.origin.domain
**Observação:**Defina o valor de -servername como o nome de domínio de origem. Ou, se você estiver usando o CloudFront para encaminhar o cabeçalho Host, defina -servername como o CNAME da solicitação do CloudFront.
Se você se conectar com sucesso à origem, verá a saída dos comandos anteriores semelhante à seguinte. A saída confirma que sua conexão foi estabelecida com sucesso usando a versão SSL ou TLS e as cifras suportadas.
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-SHA256 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES128-SHA256 .... Timeout : 7200 (sec) Verify return code: 0 (ok) ---- DONE
**Observação:**Para obter mais orientações sobre solução de problemas sobre erros 502, consulte Código de status HTTP 502 (Bad Gateway).
Informações relacionadas
Exigir HTTPS para comunicação entre o CloudFront e sua origem personalizada
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano