Cloudfront redirige le www vers le domaine nu avec ssl [fermé]

Pardonnez-moi si cela a déjà été demandé, il y a un certain nombre de ressources qui touchent à cela, mais rien ne semble correspondre à mon cas d'utilisation spécifique (https).

j'essaie de rediriger https://www.example.com à https://example.com . De même, cela devrait fonctionner pour http://www.example.com à https://example.com .

j'ai mis en place un distribution cloudfront avec l'origine d'un seau s3, rediriger http vers https, ajouter le cname example.com et j'ai ajouté mon certificat de domaine (qui fonctionne aussi bien pour le sous-domaine www que pour le domaine naked).

j'ai également mis en place une distribution séparée, avec un cname pour www.example.com, a ajouté le certificat et a défini l'origine à un seau S3 séparé que dans (hébergement de site Web statique) redirige toutes les demandes à https://example.com .

Redirection fonctionne comme prévu pour http://example.com à https://example.com , cependant http(s)://www.example.com à https://example.com does not.

sur la route 53, j'ai le domaine root aliasé à la première distribution cloudfront et www aliasé à la seconde.

50
demandé sur Kerem Baydoğan 2015-02-23 17:07:34

2 réponses

pour héberger site web sur AWS de sorte que:

https://www.example.com, http://www.example.com et http://example.com tous les rediriger vers https://example.com

vous avez besoin de:

  1. créez deux seaux S3 nommés: example.com et www.example.com .

  2. Tourner sur le Hébergement de site Web statique sur ces deux seaux.

  3. Configurer la redirection dans le seau www.example.com : https://example.com . Dans les propriétés bucket, choisissez Hébergement de site Web statique = > rediriger toutes les requêtes vers un autre nom d'hôte . Dans seau cible ou domaine , entrez example.com , dans le champ " protocole , entrez https

  4. pour ces seaux, créer deux Distributions CloudFront. Chacune de ces distributions pointe vers le seau correspondant:

  5. Pour Origine du Nom de Domaine fournir seau url Hébergement de Site Statique section. L'url doit avoir forme (ou similaire): example.com.s3-website-us-west-1.amazonaws.com

    • À la fois de la distribution set HTTP à HTTPS redirection.

    • N'UTILISEZ PAS L'URL SUGGÉRÉE PAR AMAZON AUTOCOMPLETE!

    • NE PAS DÉFINIR Racine par Défaut de l'Objet "1519200920 PROPRIÉTÉ"!

  6. Configure DNS by setting A records for www.example.com et example.com pour pointer vers les distributions CloudFront correspondantes.

pourquoi ça marche? CloudFront fournit la redirection de HTTP vers HTTPS dans les deux cas (avec et sans www). Le seau pour www.example.com fournit une redirection vers example.com. Si vous n'aviez pas cette distribution, le seau ne serait pas capable de rediriger request for https://www.example.com. S3 lui-même ne supporte pas les HTTPS pour l'hébergement de site Web statique.

47
répondu RKI 2018-07-30 06:15:50

j'ai trouvé la solution grâce à cette réponse: Amazon S3 Redirect et Cloudfront

en bref:

Cloudfront ne respecte pas les règles de redirection configurées dans S3 si l'origine est juste l'ID de bucket. Au lieu de cela, j'ai dû définir l'origine du nom d'hôte du site Web statique S3 fourni.

38
répondu Marc Greenstock 2017-05-23 11:55:07