Próbuję skonfigurować przekazywanie w Amazon Route53. Moja ostatnia usługa DNS (Nettica) umożliwiła mi kierowanie żądań do „aws.example.com” na „https://myaccount.signin.aws.amazon.com/console/”.
Czy ta funkcja jest obsługiwana przez Route53?
Jak Nettica to osiąga? Czy wstawia specjalne rekordy A, CNAME, PTR lub TXT?
dns
forwarding
amazon-route53
Saurav
źródło
źródło
Odpowiedzi:
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
Wklej w całości następujący fragment kodu XML.
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
zamiastmyaccount.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)
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!
źródło
Wsparcie AWS wskazało prostsze rozwiązanie. Zasadniczo jest to ten sam pomysł, który zaproponował @Vivek M. Chawla, z prostszą implementacją.
AWS S3:
aws.example.com
Redirect all requests to another host name
i wprowadź swój adres URL:https://myaccount.signin.aws.amazon.com/console/
AWS Route53:
Yes
. KliknijAlias Target
pole i wybierz zasobnik S3 utworzony w poprzednim kroku.Odniesienie: Jak przekierować domeny za pomocą Amazon Web Services
Oficjalna dokumentacja AWS: Czy istnieje sposób na przekierowanie domeny do innej domeny za pomocą Amazon Route 53?
źródło
Redirect all requests to another host name
opcja nadal istnieje? Nie widzę tego, kiedy przechodzę do właściwości wiadra.Udało mi się użyć nginx do obsługi przekierowania 301 do strony logowania aws.
Przejdź do folderu conf nginx (w moim przypadku jest to miejsce,
/etc/nginx/sites-available
w którym tworzę dowiązanie symboliczne do/etc/nginx/sites-enabled
włączonych plików conf).Następnie dodaj ścieżkę przekierowania
Jeśli używasz nginx, najprawdopodobniej będziesz mieć dodatkowe bloki serwera (virtualhosts w terminologii apache) do obsługi apeksu strefy (example.com) lub jakkolwiek masz to skonfigurowane. Upewnij się, że jeden z nich jest ustawiony jako serwer domyślny.
W Route 53 dodaj
A record
foraws.example.com
i ustaw wartość na ten sam adres IP używany dla wierzchołka strefy.źródło
Aktualizacja
Chociaż moja pierwotna odpowiedź poniżej jest nadal aktualna i może być pomocna w zrozumieniu przyczyny, dla której przekazywanie adresów URL oparte na DNS nie jest dostępne za pośrednictwem Amazon Route 53 po wyjęciu z pudełka, zdecydowanie polecam sprawdzenie całkowicie inteligentnego rozwiązania pośredniego Vivek M.Chawla za pośrednictwem tymczasowo wprowadzonego Wsparcie Amazon S3 dla przekierowań stron internetowych i mniej samodzielnego serwera, a tym samym darmowe rozwiązanie w ramach AWS.
Oryginalna odpowiedź
W tym celu Nettica musi uruchamiać niestandardowe rozwiązanie do przekierowywania. Oto problem:
Możesz utworzyć alias CNAME, taki jak
aws.example.com
dlamyaccount.signin.aws.amazon.com
, jednak DNS nie zapewnia oficjalnej obsługi aliasów podkatalogu, jakconsole
w tym przykładzie.https://myaccount.signin.aws.amazon.com/
(właśnie próbowałem), ponieważ rozwiązałoby to problem od razu i miałoby dużo sensu; poza tym powinno być całkiem łatwe do skonfigurowania na ich końcu.Z tego powodu kilku dostawców DNS najwyraźniej wdrożyło niestandardowe rozwiązanie umożliwiające przekierowania do podkatalogów; Zaryzykuję przypuszczenie, że w zasadzie ułatwiają alias CNAME dla własnej domeny i ponownie przekierowują stamtąd do miejsca docelowego poprzez natychmiastowe przekierowanie HTTP 3xx .
Aby osiągnąć ten sam wynik, potrzebna byłaby usługa HTTP działająca i wykonująca te przekierowania, co oczywiście nie jest prostym rozwiązaniem, na które można by mieć nadzieję. Może / miejmy nadzieję, że ktoś może jednak wymyślić mądrzejsze podejście.
źródło
Jeśli nadal masz problemy z prostym podejściem, utwórz pusty zasobnik, a następnie w
Redirect all requests to another host name
sekcji Statyczny hosting WWW we właściwościach za pośrednictwem konsoli. Upewnij się, że ustawiłeś 2 rekordy A w route53, jeden dlafinal-destination.com
i jeden dlaredirect-to.final-destination.com
. Ustawienia każdego z nich będą identyczne, ale nazwa będzie inna, więc pasuje do nazw, które ustawisz dla swoich zasobników / adresów URL.źródło