1 votes

Erreur de certificat lors de la configuration de Route53, CloudFront, Custom Origin

Contexte

Mes sites web utilisent CloudFlare avec Let's Encrypt avec succès depuis un an ou deux. Les sites web sont hébergés sur EC2, ils ont des certificats Let's Encrypt valides pour la racine, www, et tous les sous-domaines utilisés. Le site web est géré par Wordpress.

Ce que je fais

Comme exercice d'apprentissage, j'ai décidé de changer l'un de mes domaines, wildphotography.co.nz, pour Route53 et CloudFront. Cela ne s'est pas bien passé.

Le problème

Après être passé de CloudFlare à Route53 avec CloudFront, je ne peux pas voir mon site web. Les détails sont ci-dessous. Je souhaite que Route53 soit mon serveur DNS et CloudFront mon CDN.

Notez que je suis revenu à CloudFlare, car j'ai besoin que mon site web soit en ligne. J'ai eu Route53 comme serveur DNS pendant 3-4 heures, et j'ai pu voir qu'il se résolvait à R53.

Détails du problème

Après avoir configuré les choses, voici le problème que je vois dans mon navigateur

Insecure connection

En raison de la configuration de Route53, la requête pour le domaine est envoyée à CloudFront. Le certificat présenté par CloudFront est pour le domaine *.cloudfront.net. D'où la non-concordance. Je crois comprendre le problème mais je n'arrive pas à le résoudre.

Si je vais à l'URL de Cloudfront (d1b5f3w2vf82yc.cloudfront.net), j'obtiens cette erreur. Bien entendu, il n'est pas utile de se rendre à cette URL.

CloudFront Error

Voici un diagnostic SSL

SSL Diagnostic

Voici ma configuration CloudFront. Notez que j'ai pris une capture d'écran après avoir modifié quelque chose de mineur, c'est pourquoi il est indiqué "en cours". Je l'ai laissé se propager avant de le tester.

Tout d'abord, un aperçu de CloudFront

CloudFront Overview

Paramètres de l'origine CloudFront

CloudFront Origin Settings

Comportement de la racine de CloudFront

Notez que je passe de http à https sur mon serveur web Nginx, donc je ne m'embête pas à demander à CloudFront de le faire. Cela me donne des informations supplémentaires dans mes journaux, utiles pour le diagnostic.

CloudFront Root Behavior

Route53 setup

J'ai supprimé certains enregistrements non pertinents relatifs au courrier électronique. Notez que les domaines www et non-www sont des enregistrements d'alias pointant vers la distribution CloudFront. Il n'acceptera pas un alias cname - je ne suis même pas sûr que ce soit une combinaison valide.

Route53 Setup

Ce que j'ai essayé

J'ai créé un nouveau sous-domaine, origin.wildphotography.co.nz, qui est un nom de domaine pour www.wildphotography.co.nz. Je pense que cela est nécessaire pour que CloudFront puisse trouver l'IP du serveur d'origine.

J'ai essayé les CNAME, les Alias et non Alias, toutes sortes de choses.

Une chose étrange, c'est que lorsqu'il était encore configuré avec R53/CloudFront, certaines requêtes passaient par CloudFront. Pas beaucoup, mais certaines.

Toute idée serait appréciée. Je pense que la configuration de Route53 est incorrecte.

1voto

Hannah Points 31

Tout d'abord, vous devez télécharger votre certificat SSL personnalisé vers Cloudfront afin d'éviter tout problème lors de la validation SSL. Si vous ne téléchargez pas de certificat personnalisé valable pour le nom de votre site web, Cloudfront propose un certificat valable uniquement pour son propre domaine cloudfront.net.

Ensuite, vous avez besoin de quelques enregistrements dans votre zone DNS dans Route53 :

  • Les documents du site web public ("www" et apex ) doit pointer vers votre distribution Cloudfront.
  • Un autre enregistrement auxiliaire (par exemple, "origin") est nécessaire pour votre configuration d'origine Cloudfront, car Cloudfront n'autorise pas les origines IP. Cet enregistrement auxiliaire doit pointer vers votre serveur web actuel. Il est important que vous configuriez votre distribution pour qu'elle transmette l'en-tête Host afin de permettre à votre serveur web de servir le bon contenu.

Avec cette configuration, vos clients sont dirigés vers Cloudfront via vos enregistrements www/apex, et Cloudfront localise le serveur web réel via l'enregistrement d'origine. Clodflare vous évite d'implémenter toute cette logique parce que vous lui déléguez vos DNS, mais c'est en fait ce qu'il fait en arrière-plan lorsque vous activez la fonction CDN dans votre panneau DNS.

1voto

Notez que vous pouvez également obtenir un certificat d'AWS par l'intermédiaire de l'ACM sans frais supplémentaires. Le certificat que vous obtenez peut alors être déployé sur CloudFront pour votre domaine. Pour plus de détails, veuillez consulter - http://docs.aws.amazon.com/acm/latest/userguide/gs-cf.html et lire l'article de blog - https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X