Miałem dokładnie ten sam problem, który opisał Saurav, ale naprawdę potrzebowałem rozwiązania, które nie wymagałoby niczego innego niż Route 53 i S3. Stworzyłem poradnik dla mojego bloga, w którym szczegółowo opisałem, co zrobiłem.
Oto co wymyśliłem.
Cel
Korzystając wyłącznie z narzędzi dostępnych w Amazon S3 i Amazon Route 53, utwórz przekierowanie adresu URL, które automatycznie przekierowuje adres http://url-redirect-example.vivekmchawla.com na stronę logowania konsoli AWS z aliasem „Moje konto”, znajdującą się pod adresem https : //myaccount.signin.aws.amazon.com/console/ .
Ten przewodnik nauczy Cię konfigurowania przekazywania adresów URL na dowolny adres URL, nie tylko na Amazon. Dowiesz się, jak skonfigurować przekierowanie do określonych folderów (takich jak „/ console” w moim przykładzie) i jak zmienić protokół przekierowania z HTTP na HTTPS (lub odwrotnie).
Krok pierwszy: utwórz wiadro S3
Otwórz konsolę zarządzania S3 i kliknij „Utwórz zasobnik”.
Krok drugi: nazwij swoje wiadro S3
Wybierz nazwę segmentu. Ten krok jest naprawdę ważny! Musisz nazwać zasobnik DOKŁADNIE taką samą, jak adres URL, który chcesz skonfigurować do przekazywania. W tym przewodniku użyję nazwy „url-redirect-example.vivekmchawla.com”.
Wybierz region, który najbardziej Ci odpowiada. Jeśli nie wiesz, zachowaj wartość domyślną.
Nie martw się o konfigurowanie logowania. Gdy będziesz gotowy, po prostu kliknij przycisk „Utwórz”.
Krok 3: Włącz hosting statycznej witryny i określ reguły routingu
- W oknie właściwości otwórz ustawienia „Hostingu statycznej witryny internetowej”.
- Wybierz opcję „Włącz hosting witryn internetowych”.
- Wprowadź wartość dla „Dokumentu indeksu”. Ten obiekt (dokument) nigdy nie będzie obsługiwany przez S3 i nigdy nie musisz go przesyłać. Po prostu użyj dowolnej nazwy.
- Otwórz ustawienia „Edytuj reguły przekierowania”.
Wklej w całości następujący fragment kodu XML.
<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol>
<HostName>myaccount.signin.aws.amazon.com</HostName>
<ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
Jeśli jesteś ciekawy, co robi powyższy XML, odwiedź dokumentację AWM dla „Składnia określania reguł routingu” . Dodatkową techniką (tutaj nie omówioną) jest na przykład przekierowanie na określone strony na hoście docelowym http://redirect-destination.com/console/special-page.html
. Przeczytaj o <ReplaceKeyWith>
elemencie, jeśli potrzebujesz tej funkcjonalności.
Krok 4: zanotuj „Punkt końcowy” zasobnika przekierowań
Zanotuj „punkt końcowy” hostowania witryny statycznej, który Amazon automatycznie utworzył dla tego zasobnika. Będziesz tego potrzebować później, więc zaznacz cały adres URL, a następnie skopiuj go i wklej do notatnika.
UWAGA! W tym momencie możesz kliknąć ten link, aby sprawdzić, czy Twoje reguły przekierowania zostały wprowadzone poprawnie, ale bądź ostrożny! Dlatego...
Załóżmy, że wpisałeś nieprawidłową wartość w <Hostname>
tagach w zasadach przekierowania. Może przypadkowo wpisałeś myaccount.amazon.com
zamiast myaccount.signin.aws.amazon.com
. Jeśli klikniesz link, aby przetestować adres URL punktu końcowego, AWS z radością przekieruje Twoją przeglądarkę na niewłaściwy adres!
Po zauważeniu błędu prawdopodobnie dokonasz edycji <Hostname>
w swoich regułach przekierowania, aby naprawić błąd. Niestety, gdy spróbujesz ponownie kliknąć link, najprawdopodobniej zostaniesz przekierowany z powrotem na zły adres! Nawet jeśli poprawiłeś <Hostname>
wpis, Twoja przeglądarka buforuje poprzedni (nieprawidłowy!) Wpis. Dzieje się tak, ponieważ używamy przekierowania HTTP 301 (stałego), które przeglądarki, takie jak Chrome i Firefox, będą domyślnie buforować.
Jeśli skopiujesz i wkleisz adres URL punktu końcowego do innej przeglądarki (lub wyczyścisz pamięć podręczną w bieżącej), otrzymasz kolejną szansę, aby sprawdzić, czy zaktualizowany <Hostname>
wpis jest ostatecznie prawidłowy.
Aby być bezpiecznym, jeśli chcesz przetestować adres URL punktu końcowego i reguły przekierowania, otwórz sesję przeglądania prywatnego, np. „Tryb incognito” w Chrome. Skopiuj, wklej i przetestuj adres URL punktu końcowego w trybie incognito, a wszystko, co jest zapisane w pamięci podręcznej, zniknie po zamknięciu sesji.
Krok 5: Otwórz konsolę zarządzania Route53 i przejdź do zestawów rekordów dla swojej strefy hostowanej (nazwa domeny)
- Wybierz strefę hostowaną (nazwę domeny), której użyłeś podczas tworzenia swojego zasobnika. Ponieważ nazwałem swój zasobnik „url-redirect-example.vivekmchawla.com”, mam zamiar wybrać strefę hostowaną vivekmchawla.com.
- Kliknij przycisk „Przejdź do zestawów nagrań”.
Krok 6: Kliknij przycisk „Utwórz zestaw rekordów”
Kliknięcie „Utwórz zestaw rekordów” otworzy okno Utwórz zestaw rekordów po prawej stronie konsoli zarządzania Route53.
Krok 7: Utwórz zestaw rekordów CNAME
W polu Nazwa wprowadź część adresu URL zawierającą nazwę hosta, której użyłeś podczas nadawania nazwy zasobnikowi S3. „Część adresu URL zawierająca nazwę hosta” to wszystko na lewo od nazwy Twojej strefy hostowanej. Nazwałem mój zasobnik S3 „url-redirect-example.vivekmchawla.com”, a moja strefa hostowana to „vivekmchawla.com”, więc część nazwy hosta, którą muszę wpisać, to „url-redirect-example”.
Wybierz „CNAME - nazwa kanoniczna” jako typ tego zestawu rekordów.
Jako wartość wklej adres URL punktu końcowego zasobnika S3, który utworzyliśmy w kroku 3.
Kliknij przycisk „Utwórz zestaw rekordów”. Zakładając, że nie ma błędów, będziesz mógł teraz zobaczyć nowy rekord CNAME na liście zestawów rekordów strefy hostowanej.
Krok 8: Przetestuj nowe przekierowanie adresu URL
Otwórz nową kartę przeglądarki i wpisz adres URL, który właśnie skonfigurowaliśmy. Dla mnie to http://url-redirect-example.vivekmchawla.com . Jeśli wszystko działało poprawnie, powinieneś zostać wysłany bezpośrednio na stronę logowania AWS.
Ponieważ użyliśmy myaccount.signin.aws.amazon.com
aliasu jako docelowego adresu URL naszego przekierowania, Amazon dokładnie wie, do którego konta próbujemy uzyskać dostęp, i prowadzi nas bezpośrednio tam. Może to być bardzo przydatne, jeśli chcesz podać pracownikom lub kontrahentom krótki, przejrzysty link do logowania do AWS.
Wnioski
Osobiście uwielbiam różne usługi AWS, ale jeśli zdecydujesz się przenieść zarządzanie DNS do Amazon Route 53, brak łatwego przekazywania adresów URL może być frustrujący. Mam nadzieję, że ten przewodnik pomógł nieco ułatwić konfigurowanie przekazywania adresów URL dla stref hostowanych.
Jeśli chcesz dowiedzieć się więcej, zajrzyj na następujące strony w witrynie dokumentacji AWS.
Twoje zdrowie!