Lorsque vous configurez CloudFront avec une origine personnalisée et que vous utilisez HTTPS, l'erreur « CloudFront could not connect to Origin » peut être renvoyée avec le code d'état HTTP 502 (passerelle erronée).

Voici les principales causes de ce problème :

  • Nom du certificat de l'origine personnalisée : CloudFront ne parvient pas à se connecter à l'origine via le protocole HTTPS. Cela se produit habituellement lorsqu'un nom de domaine d'origine personnalisé est spécifié pour la distribution CloudFront et que le nom commun ou le SAN (Subject Alternative Name) du certificat associé est inapproprié.
  • Restrictions de chiffrement de CloudFront : CloudFront ne parvient pas à se connecter à l'origine en raison des restrictions de chiffrement. CloudFront prend actuellement en charge les protocoles SSLv3 et TLS 1.0. De plus, CloudFront ajoute une extension SNI (Server Name Indication) et inclut la valeur du nom de domaine de l'origine applicable dans votre distribution.
  • Autorité de certificat intermédiaire absente de la chaîne de certificats : CloudFront ne parvient pas à se connecter à l'origine si votre bundle de certificats comprend une autorité de certificat intermédiaire qui ne fait pas partie de la chaîne de certificats.
  • Problèmes au niveau de l'établissement de la liaison SSL avec l'origine/CloudFront : les problèmes d'établissement de la liaison SSL souvent dues aux chiffrements utilisés ou aux protocoles pris en charge par l'origine.

Voici les étapes de dépannage à suivre pour chacune des causes courantes :

  • Nom du certificat de l'origine personnalisée : vérifiez que vous êtes en mesure de vous connecter à l'origine via le port HTTPS avec le nom spécifié pour le domaine de l'origine. Assurez-vous également que ce nom correspond au nom commun du certificat associé ou qu'il fait partie du SAN approprié. Dans une invite de commande Linux, exécutez la commande suivante pour vérifier la connectivité :

         curl –I https://origin.example.com

    Si le SAN du certificat est le même que le CNAME (nom commun) de votre distribution Web, transmettez un nom « Host » correspondant au nom du certificat dans l'en-tête.
    Pour découvrir comment transférer des en-têtes pour les distributions Web, consultez la section En-têtes et distributions Web.
  • Restrictions de chiffrement CloudFront : si votre certificat ne prend pas en charge l'extension SNI avec TLS 1.0, vous ne devez pas transmettre l'en-tête « Host », mais assurez-vous que le certificat de l'origine personnalisée est un caractère générique ou qu'il utilise le nom de domaine de l'origine personnalisée comme SAN ou nom commun. Pour en savoir plus sur les suites de chiffrement prises en charge par CloudFront, consultez la section Chiffrement.
  • Autorité de certificat intermédiaire absente de la chaîne de certificats : testez l'origine avec des outils de vérification SSL pour vous assurer que la chaîne de certificats est disponible et qu'elle ne nécessite pas le téléchargement d'autorités de certificats intermédiaires supplémentaires. Si vous utilisez un équilibreur de charge ELB (Elastic Load Balancing) pour l'origine personnalisée, réimportez le certificat avec la chaîne de certificats appropriée. Vous pouvez utiliser l'outil en ligne https://www.ssllabs.com/ssltest/ pour rechercher les erreurs dans la chaîne de certificats.
  • Problèmes au niveau de l'établissement de la liaison SSL avec l'origine/CloudFront : exécutez la commande suivante pour simuler l'établissement de la liaison SSL de l'origine/CloudFront. Cette commande se connecte à l'origine avec les mêmes chiffrements et le même protocole que CloudFront. Si elle n'aboutit pas, cela signifie qu'il existe un problème avec les chiffrements ou les protocoles pris en charge au niveau de l'origine.

         echo | openssl s_client -ssl3 -tls1 -cipher 'ECDHE-RSA-AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA
         AES128-SHA DES-CBC3-SHA RC4-MD5' -connect your.origin.domain:443

    Remarque
    Selon la version openssl que vous utilisez et la plateforme sur laquelle vous l'exécutez, vous devrez peut-être utiliser cette commande pour chaque chiffrement répertorié (quatre au total), ainsi que des guillemets simples lors de la spécification du ou des chiffrements à tester.

CloudFront, origine personnalisée, code d'état HTTP 502, passerelle erronée, impossible de se connecter à l'origine, SNI, TLS, SSL, HTTPS, certificat, chaîne, nom commun, SAN


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 31/12/2015