Cloudfront przekierowanie www do nagiej domeny z ssl [zamknięte]

Wybacz mi, jeśli zostało to wcześniej zapytane, istnieje wiele zasobów, które dotykają tego, ale nic nie wydaje się pasować do mojego konkretnego (https) przypadku użycia.

Próbuję przekierować https://www.example.com do https://example.com . podobnie powinno to działać dla http://www.example.com do https://example.com .

Skonfigurowałem dystrybucję cloudfront z pochodzeniem wiadra s3, przekierowałem http na https, dodałem cname example.com i dodano certyfikat mojej domeny (który działa zarówno dla subdomeny www, jak i nagiej domeny).

Skonfigurowałem również oddzielną dystrybucję, z cname dla www.example.com, dodano certyfikat i ustawiono pochodzenie do oddzielnego zasobnika s3, który w (statyczny hosting stron internetowych) przekierowuje wszystkie żądania do https://example.com .

Przekierowanie działa zgodnie z oczekiwaniami http://example.com do https://example.com , jednak http(S)://www.example.com na https://example.com nie.

W route 53 mam domenę root aliased do pierwszej dystrybucji cloudfront i www aliased do drugiej.

Author: Kerem Baydoğan, 2015-02-23

2 answers

Do hostowania strony na AWS tak aby:

Https://www.example.com, http://www.example.com oraz http://example.com wszystkie przekierowania na https://example.com

Musisz:

  1. Utwórz dwa wiadra S3 o nazwie: example.com i www.example.com.

  2. Włącz Static Website Hosting na tych dwóch wiadrach.

  3. Konfiguracja przekierowania w bucket www.example.com to: https://example.com . We właściwościach wiadra wybierz Static Website Hosting => przekierowanie wszystkich żądań na inną nazwę hosta . W polu target bucket lub domain wpisz example.com , w polu protokół wprowadź https

  4. Dla tych wiader Utwórz dwie dystrybucje CloudFront. Każdy z tych rozkładów wskazuje na odpowiednie wiadro:

  5. Dla Origin Domain Name provide adres URL wiadra podany w sekcji Static Website Hosting. Adresy URL powinny mieć formę (lub podobną): example.com.s3-website-us-west-1.amazonaws.com

    • Na obu zestawach dystrybucji HTTP do HTTPS przekierowanie.

    • NIE UŻYWAJ ADRESU URL SUGEROWANEGO PRZEZ AMAZON AUTOCOMPLETE!

    • Nie ustawiaj właściwości Default Root Object !

  6. Konfiguracja DNS poprzez ustawienie rekordów dla www.example.com oraz example.com aby wskazać odpowiednie dystrybucje CloudFront.

Dlaczego to działa? CloudFront zapewnia przekierowanie z HTTP do HTTPS w obu przypadkach (z www i bez www). Wiadro do www.example.com zapewnia przekierowanie do example.com. jeśli nie masz tej dystrybucji, wiadro nie będzie w stanie przekierować żądania dla https://www.example.com sam. S3 nie obsługuje HTTPS dla statycznego hostingu stron internetowych.

 47
Author: RKI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-30 06:15:50

Znalazłem rozwiązanie dzięki tej odpowiedzi: Amazon S3 Redirect i Cloudfront

W skrócie:

Cloudfront nie respektuje reguł przekierowania ustawionych w S3, jeśli źródłem jest tylko identyfikator bucket. Zamiast tego musiałem ustawić pochodzenie na podaną nazwę hosta statycznego S3.

 38
Author: Marc Greenstock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:55:07