przez Georgię Nolę # Prosty hosting witryn z Amazon S3 i HTTPS Cześć ludzie! W tym samouczku pokażę, jak hostować statyczną stronę internetową z HTTPS na AWS z domeną niestandardową. Wszystko to jest możliwe dzięki darmowej warstwie AWS Jednak usługi, z których będziemy korzystać, wiążą się z niewielkimi opłatami. Ogólnie rzecz biorąc, nie powinny one przekraczać 1 USD miesięcznie Będziemy używać kombinacji następujących usług AWS: âÃÃS3 âÃà Route53 Menedżer certyfikatów CloudFront *Wejdźmy w to!* Skonfiguruj zasobniki S3 Najpierw będziesz potrzebować **dwa segmenty S3 oba powinny pasować do Twojej niestandardowej nazwy domeny z drugim zawierającym subdomenę www Wiadro 1: Wiadro 2: Pierwszy zasobnik (mywebsite.com) jest głównym zasobnikiem dla Twojej witryny. Zawiera wszystkie Twoje pliki i zasoby dla Twojej statycznej witryny Następnie konfigurujemy to wiadro do statycznego hostingu witryn. Można to znaleźć na karcie Właściwości zasobnika, a my zachowamy podane tu wartości domyślne z indeksem witryny ustawionym na index.html Musimy również udostępnić to wiadro, ponieważ przeglądarka użytkownika będzie musiała uzyskać dostęp do plików wiadra w celu renderowania witryny. Możemy to zrobić, ustawiając Zasady Bucket w zakładce Uprawnienia { "Wersja": "2012-10-17", "Oświadczenie": [ { "Sid": "PublicReadGetObject", "Efekt": "Zezwól", "Principal": "Akcja": "s3: GetObject", "Zasób": "MY_BUCKET_ARN"} ]} Jest to prosta zasada, która zezwala tylko na publiczny dostęp do odczytu obiektów w zasobniku. Teraz, jeśli przejdziesz do punktu końcowego zdefiniowanego w statycznej konfiguracji hostingu zasobnika, powinieneś zobaczyć swoją witrynę Postęp! Ale możemy zrobić coś lepszego Drugi zasobnik (www.mywebsite.com) pozostawimy pusty, ale skonfigurujemy przekierowanie do naszego pierwszego zasobnika przy użyciu protokołu HTTP (później zrobimy to HTTPS) Twoje wiadra są teraz gotowe do pracy! Skonfiguruj domeny za pomocą Route53 Twoja witryna jest więc uruchomiona, ale dostępna tylko przez punkt końcowy zasobnika, a nie przez domenę niestandardową. Zmieńmy to Zmierzać do **Route53 Jeśli zarejestrowałeś swoją domenę w Amazon Registrar, powinieneś zobaczyć, że skonfigurowano dla ciebie strefę hostowaną z dwoma zestawami rekordów. Jeden dla serwera nazw (NS) i jeden dla SOA Wszystko, co musimy zrobić, to utworzyć jeszcze dwa zestawy rekordów wskazujące punkty końcowe zasobnika S3 Dla każdego zestawu rekordów: âÃÂàTyp: A âÃÂàAdres IPv4 alias: tak âÃÂàCel aliasu: punkt końcowy witryny S3, który pasuje do tego, co ustawiłeś w polu Nazwa Teraz możemy przejść do niestandardowego adresu URL i voila! Jesteśmy prawie na miejscu, ale brakuje nam ostatniej rzeczy ÃÂæ **Uwaga Jeśli Twoja domena jest zarejestrowana u innego rejestratora domen (nie Amazon), musisz wykonać kilka różnych kroków, aby to skonfigurować. Zwykle będziesz musiał dodać rekord CNAME z wartością głównego punktu końcowego segmentów S3. **Rozwiązywanie problemów Jeśli usunąłeś strefę hostowaną, którą Amazon utworzył podczas pierwszej rejestracji domeny (zrobiłem to, ponieważ strefy hostowane wiążą się z pewnymi opłatami), możesz Będę musiał utworzyć od podstaw nową strefę hostowaną - Wybierz opcję „Utwórz strefę hostowaną” i ustaw nazwę domeny, na przykład „mojastrona”. comâÃà- Spowoduje to wygenerowanie nowych zestawów rekordów dla typów NS i SOA - Przejdź do swojej zarejestrowanej domeny i zaktualizuj wartości serwerów nazw do wartości wygenerowanych w nowym zestawie rekordów NS Żądanie certyfikatu Świetnie, witryna jest teraz hostowana przy użyciu niestandardowego adresu URL! Jednak możemy uzyskać do niego dostęp tylko za pośrednictwem protokołu HTTP Zawsze powinniśmy upewnić się, że nasze strony są zabezpieczone za pomocą protokołu HTTPS. Chroni to naszą witrynę i użytkowników przed złośliwymi atakami iniekcyjnymi oraz gwarantuje autentyczność Zmierzać do **Menedżer certyfikatów** w konsoli AWS i poproś o nowy certyfikat publiczny (jest bezpłatny). Zostaniesz poproszony o podanie nazw domen, które chcesz zabezpieczyć Zanim certyfikat zostanie wydany, Amazon musi być w stanie zweryfikować, czy jesteś właścicielem określonych domen Możesz wybrać jedną z dwóch metod weryfikacji: Email lub DNS E-mail jest generalnie prostszy, ale musisz upewnić się, że masz dostęp do e-maila użytego do rejestracji domeny. Alternatywnie, jeśli korzystałeś z Amazon Registrar i Route53, możesz wybrać metodę DNS. Wymaga to dodania określonych zestawów rekordów do hostowanej strefy, ale jest to w większości zautomatyzowane, więc jest dość proste Wydanie certyfikatu po weryfikacji może zająć kilka minut Kiedy wszystko jest gotowe, możemy przejść do ostatniego kroku! Konfigurowanie CloudFront Do ostatniego kroku, którego użyjemy **CloudFront **który pozwala nam korzystać z nowego certyfikatu SSL do obsługi strony z HTTPS. CloudFront przyspiesza również dystrybucję treści internetowych, przechowując je w wielu lokalizacjach brzegowych i dostarczając użytkownikowi z najbliższej lokalizacji brzegowej Potrzebujemy **dwie nowe dystrybucje sieciowe, po jednej dla każdego segmentu S3. Przejdź do CloudFront w konsoli AWS i stwórz pierwszą dystrybucję internetową Dostępnych jest wiele ustawień do stworzenia dystrybucji internetowej, ale dla podstaw musimy zmienić tylko pięć: Nazwa domeny pochodzenia: Ustaw to na punkt końcowy witryny S3 dla jednego z zasobników. Ważne: to pole daje kilka opcji automatycznego uzupełniania nazwami zasobników S3. Jednak korzystanie z nich może powodować problemy z przekierowaniem do punktu końcowego zasobnika. Zamiast tego użyj bezpośrednio punktu końcowego zasobnika. Identyfikator pochodzenia: wypełniany po wprowadzeniu nazwy domeny pochodzenia. Zasady protokołu przeglądarki: Ustaw opcję âÃÂÃÂPrzekieruj HTTP na HTTPSâÃÂÃÂ. Alternatywne nazwy domen: powinny pasować do nazwy zasobnika S3, na który wskazujesz. Na przykład âÃÂÃÂmojawitryna.comâÃÂÃÂ. Certyfikat SSL: Wybierz „Niestandardowy certyfikat SSL” i wybierz swój nowy certyfikat z listy rozwijanej Zrób to ponownie dla drugiego wiadra S3 Rozpoczęcie dystrybucji może trochę potrwać, więc podczas oczekiwania wykonajmy końcowe kroki Z powrotem **S3 przejdź do drugiego zasobnika (www.mywebsite.com), w zakładce Właściwości iw statycznym hostingu witryn internetowych ustaw protokół przekierowania na HTTPS Na koniec wróć do **Route53 Musimy zaktualizować utworzone przez nas niestandardowe rekordy A, aby teraz kierować je na dystrybucje CloudFront, a nie na segmenty S3. Dla każdego rekordu zmień Alias ​​Target i wybierz dystrybucję CloudFront dostępną z listy rozwijanej Uwaga: ponownie, jeśli korzystasz z innej usługi DNS, musisz zaktualizować stamtąd rekord CNAME, aby wskazywał nazwę domeny CloudFront I masz to! Twoja piękna witryna jest teraz dostępna w domenie niestandardowej i obsługiwana przez HTTPS! Dziękuje za przeczytanie! Mam nadzieję, że ten przewodnik był przydatny i przyjemny. Chciałbym wiedzieć, czy okazał się pomocny.