2014-07-21 9 views
10

Mam zamiar uruchomić statyczną stronę internetową przy użyciu S3/Cloudfront. Nie potrzebuję HTTPS dla witryny, ale obecna iteracja strony jest obsługiwana przez HTTPS i ma setki linków i indeksowanych adresów URL, które są HTTPS.Strona statyczna Amazon S3 - Przekieruj HTTPS na HTTP

Szukałem wiele godzin i nie mogę znaleźć sposobu na przekierowanie adresów URL HTTPS do HTTP podczas korzystania tylko z S3/Cloudfront. Obecnie URL HTTPS odmówi połączenia zamiast przekierowania do wersji HTTP strony.

Bez Apache wygląda na to, że nie można tego zrobić. Jakieś wskazówki?

Odpowiedz

19

Statyczna witryna WWW na S3 nie obsługuje HTTPS, chyba że używasz pełnej ścieżki do domeny, tj. example.com.s3-website-us-east-1.amazonaws.com. Ponieważ chcesz zachować swój adres URL, będziesz musiał użyć dystrybucji CloudFront do obsługi SSL.

  1. Prześlij swój certyfikat SSL do CloudFront: aws iam upload-server-certificate --server-certificate-name CertificateName --certificate-body file://public_key_certificate_file --private-key file://privatekey.pem --certificate-chain file://certificate_chain_file --path /cloudfront/path/ [1]
  2. Tworzenie rozkładu CloudFront i skonfigurować jako tak:

    • Origin Domain Name: Twój s3 wiadro
    • Alternatywne nazwy domen (CNAME): pożądana lokalizacja dla Twojej witryny, np. example.com lub www.example.com
    • Certyfikat SSL: Wybierz certyfikat SSL został przesłany w kroku 1.
    • klienta SSL Obsługa klienta: ile trzeba kompatybilność naprawdę starych klientów, wybierz „Tylko klienci obsługujące wskazanie nazwy serwera "i zaoszczędzić 600 USD.

    Jeśli przekierowanie przekierowanie https do S3, domena pochodzenie nie powinno być wiadro autouzupełnianie, ale statyczny końcowy przekierowanie s3 daje

  3. Zapisz swoją dystrybucję. Powinien pokazać status "W toku". Zwykle trwa to ~ 15 minut, zanim dystrybucja zostanie "wdrożona"; nie przechodź do kroku 4, dopóki Twoja dystrybucja nie zostanie "wdrożona".

  4. Sprawdzanie działania dystrybucji: przejdź do dystrybucji CloudFront za pośrednictwem nazwy domeny na liście, np. "https // d111111abcdef8.cloudfront.net /". Powinieneś zobaczyć swoją stronę.
  5. Zmień swoje rekordy DNS, aby wskazywały na dystrybucję CloudFront zamiast na wiadro S3.

[1], jeśli masz problemy z dodaniem swój certyfikat do CloudFront sprawdzić ten artykuł dla dalszych informacji: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#cnames-and-https-procedure

+1

Jest to prawdopodobnie najbardziej opłacalne podejście bez rozmieszczania własny serwer lub serwer proxy, ponieważ serwer HTTPS nawet * nie widzi * przychodzącego żądania (aby móc je przekierować), chyba że certyfikat jest ważny lub użytkownik pominął ostrzeżenie o zabezpieczeniach. Cloudfront z SNI nie przekieruje odnośników https do http, ale sprawi, że będą działały jako https, dla większości przeglądarek. –

+10

hej, faceci, miałem podobny problem, gdy chciałem przekierować apex http do https, używając ALIAS rekord do przekierowania s3, ale miał problemy, gdy użytkownik ręcznie próbował wpisać wierzchołek https. Tak więc postępowałem zgodnie z tymi krokami, aby zainstalować mój ssl na CF, ale otrzymałem "odmowę dostępu" podczas wypróbowywania tego rozwiązania.W końcu zorientowałem się, modyfikując krok nr 2. Domena początkowa nie powinna być zasobnikiem autouzupełniania, ale umożliwia to statyczny przekierowanie punktu końcowego s3. –

+1

można zweryfikować, że ta konfiguracja działa i pozwala skonfigurować domenę wierzchołek przekierować zarówno http: // i https: // za pomocą S3 Static Website Hosting + przekierować wszystkie żądania. W 2 zmiany, że muszę zrobić, aby uzyskać konfigurację do pracy było wezwać) @RyanRomanchuk „s out używać ** statyczną stronę internetową końcowego URL **' example.com.s3-www-us-wschód-1. amazonaws.com dla źródła (lifesaver, ty) i B) Ustawienie 'Origin Protocol Policy' na' HTTP Only'. Ponadto, podczas instalacji, należy pamiętać, aby czekać na aktualizacje ustawień wdrożyć i wykorzystywać unieważnień pamięci podręcznej jeśli niepożądane reakcje były buforowane. –