Skonfiguruj przekazywanie adresów URL oparte na DNS w Amazon Route53 [zamknięte]

zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Update the pytanie więc to on-topic {[3] } dla przepełnienia stosu.

Zamknięte 1 rok temu .

Popraw to pytanie [5]}próbuję skonfigurować przekierowanie w Amazon Route53. Moja ostatnia usługa DNS (Nettica) pozwoliła mi na przekierowanie zapytań do "aws.example.com" do "https://myaccount.signin.aws.amazon.com/console/".

Czy ta funkcjonalność jest obsługiwana przez Route53?

Jak Nettica to osiąga? Czy wstawia specjalny rekord A, CNAME, PTR lub TXT?

Author: Dave Jarvis, 2012-04-12

5 answers

Natknąłem się na dokładnie ten sam problem, który opisał Saurav, ale naprawdę musiałem znaleźć rozwiązanie, które nie wymaga niczego innego niż Route 53 i S3. Stworzyłem poradnik dla mojego bloga opisujący to, co zrobiłem.

Oto, co wymyśliłem.

Cel

Używając tylko narzędzi dostępnych w Amazon S3 i Amazon Route 53, Utwórz przekierowanie URL, które automatycznie przekierowuje http://url-redirect-example.vivekmchawla.com do Strona logowania do konsoli AWS aliased to "MyAccount", located at https://myaccount.signin.aws.amazon.com/console /.

Ten przewodnik nauczy Cię konfigurować przekazywanie adresów URL do dowolnego adresu URL, nie tylko z 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 wiadro"

Otwórz S3 konsoli zarządzania i kliknij "Utwórz wiadro".


Krok Drugi: Nazwij Swoje Wiadro S3

Nazwij swoje wiadro S3

  1. Wybierz nazwę wiadra. Ten krok jest naprawdę ważny! Musisz nazwać wiadro dokładnie tak samo, jak adres URL, który chcesz skonfigurować do przekazywania. Do tego poradnika użyję nazwy "url-redirect-example.vivekmchawla.com".

  2. Wybierz region, który będzie dla ciebie najlepszy. Jeśli nie wiesz, zachowaj wartość domyślną.

  3. Nie. martw się o konfigurację logowania. Po prostu kliknij przycisk "Utwórz", gdy będziesz gotowy.


Krok 3: Włącz statyczny Hosting i określ reguły routingu

Włącz statyczny Hosting stron internetowych i określ reguły routingu

  1. W oknie Właściwości otwórz Ustawienia "statyczny Hosting stron internetowych".
  2. wybierz opcję "Włącz hosting stron internetowych".
  3. Wprowadź wartość dla "dokumentu indeksu". Ten obiekt (dokument) nigdy nie będzie obsługiwany przez S3 i nigdy nie trzeba go przesyłać. Wystarczy użyć dowolne imię.
  4. Otwórz Ustawienia "Edytuj Zasady przekierowania".
  5. Wklej Poniższy fragment XML w całości.

    <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ś ciekaw, co robi powyższy XML, odwiedź dokumentację AWM, aby znaleźć "składnię do określania reguł routingu" . Technika bonusowa (nie omówiona tutaj) polega na przekierowaniu na określone strony hosta docelowego, na przykład http://redirect-destination.com/console/special-page.html. Przeczytaj o elemencie <ReplaceKeyWith> jeśli potrzebujesz tego funkcjonalność.


Krok 4: zanotuj "punkt końcowy" wiadra przekierowań

Zanotuj punkt końcowy wiadra przekierowań

Zanotuj statyczny punkt końcowy hostingu strony internetowej, który Amazon automatycznie utworzył dla tego wiadra. Będziesz tego potrzebował na później, więc podświetl cały adres URL, a następnie skopiuj i wklej go do notatnika.

Uwaga! w tym momencie możesz kliknąć ten link, aby sprawdzić, czy Zasady przekierowania zostały wprowadzone poprawnie, ale uważaj! Oto dlaczego...

Załóżmy, że wprowadziłeś niewłaściwą wartość wewnątrz znaczników <Hostname> w regułach przekierowywania. 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 edytujesz <Hostname> w regułach przekierowania, aby naprawić błąd. Niestety, gdy spróbujesz ponownie kliknąć link, najprawdopodobniej zostaniesz przekierowany z powrotem do zły adres! Mimo że poprawiłeś wpis <Hostname>, twoja przeglądarka buforuje poprzedni (niepoprawny!) entry. Dzieje się tak, ponieważ używamy przekierowania HTTP 301 (permanentnego), które przeglądarki takie jak Chrome i Firefox domyślnie buforują.

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 wpis <Hostname> jest w końcu prawidłowy.

Aby być bezpiecznym, jeśli chcesz przetestować swój Reguły URL punktu końcowego i przekierowania, powinieneś otworzyć prywatną sesję przeglądania, taką jak" tryb Incognito " w Chrome. Skopiuj, wklej i przetestuj adres URL punktu końcowego w trybie Incognito, a wszystko, co zostanie zbuforowane, zniknie po zamknięciu sesji.


Krok 5: otwórz Konsolę zarządzania Route53 i przejdź do zestawów rekordów dla strefy hostowanej (nazwa domeny)

Otwórz Konsolę zarządzania Route 53, aby dodać zestawy rekordów do strefy hostowanej

  1. Wybierz strefę hostowaną (nazwę domeny), której użyłeś podczas tworzenia zasobnika. Odkąd nazwałem moje wiadro "url-redirect-example.vivekmchawla.com", wybieram vivekmchawla.com Strefa hostingu.
  2. Kliknij przycisk" Przejdź do zestawów rekordów".

Krok 6: Kliknij przycisk "Utwórz zestaw rekordów"

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

Tworzenie zestawu rekordów CNAME

  1. W polu Nazwa, wprowadź część nazwy hosta adresu URL użytego podczas nazywania zasobnika S3. "Część nazwy hosta" adresu URL to wszystko po lewej stronie nazwy strefy hostowanej. Nazwałem moje wiadro S3 "url-redirect-example.vivekmchawla.com", a Moja strefa hostingu to "vivekmchawla.com", więc część nazwy hosta, którą muszę wprowadzić, to "url-redirect-example".

  2. Wybierz "CNAME-Nazwa kanoniczna" dla Typu tego zestawu rekordów.

  3. Dla wartości wklej w adresie URL punktu końcowego wiadro S3, które stworzyliśmy w Kroku 3.

  4. Kliknij przycisk "Utwórz zestaw rekordów". Zakładając, że nie ma błędów, będziesz mógł zobaczyć nowy rekord CNAME na liście zestawów rekordów strefy hostowanej.


Krok 8: Przetestuj nowe przekierowanie 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, należy wysłać bezpośrednio do strony logowania AWS.

Ponieważ użyliśmy aliasu myaccount.signin.aws.amazon.com jako docelowego adresu URL przekierowania, Amazon dokładnie wie, do którego konta próbujemy uzyskać dostęp i zabiera nas bezpośrednio tam. Może to być bardzo przydatne, jeśli chcesz dać krótki, czysty, markowy link do logowania AWS pracownikom lub kontrahentom.

Gotowe! Przekierowanie adresu URL powinno doprowadzić cię do strony logowania AWS.


Wnioski

Osobiście uwielbiam różne usługi AWS, ale jeśli zdecydowałeś się na migrację zarządzania DNS do Amazon Route 53, brak łatwego Przekazywanie adresów URL może być frustrujące. Mam nadzieję, że ten przewodnik pomógł nieco ułatwić konfigurowanie przekierowania adresów URL dla hostowanych stref.

Jeśli chcesz dowiedzieć się więcej, zapoznaj się z poniższymi stronami ze strony dokumentacji AWS.

Zdrówko!
 330
Author: Vivek M. Chawla,
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
2013-01-12 00:59:37

Wsparcie AWS wskazało prostsze rozwiązanie. To w zasadzie ten sam pomysł zaproponowany przez @ Vivek M. Chawla, z prostszą realizacją.

AWS S3:

  1. Utwórz wiadro o nazwie z pełną domeną, np. aws.example.com
  2. we właściwościach zasobnika wybierz Redirect all requests to another host name i wpisz swój adres URL: https://myaccount.signin.aws.amazon.com/console/

AWS Route53:

  1. Utwórz zestaw rekordów typu A. Zmień Alias na Yes. Kliknij na pole Alias Target i wybierz kubełek S3, który utworzyłeś w poprzedni krok.

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?

 151
Author: Roberto Schneiders,
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-08-01 14:31:12

W związku z tym, że nie jest to możliwe, nie jest to możliwe.

Przejdź do folderu nginx conf (w moim przypadku jest to /etc/nginx/sites-available, w którym tworzę dowiązanie symboliczne do /etc/nginx/sites-enabled dla włączonych plików conf).

Następnie dodaj ścieżkę przekierowania

server {
  listen 80;
  server_name aws.example.com;
  return 301 https://myaccount.signin.aws.amazon.com/console;
}
Jeśli używasz nginx, najprawdopodobniej będziesz miał dodatkowe bloki serwerów (virtualhosts w terminologii apache) do obsługi swojego Apex (example.com) lub jakkolwiek masz to skonfigurowane. Upewnij się, że jeden z nich jest ustawiony na Twój domyślny serwer.
server {
  listen 80 default_server;
  server_name example.com;
  # rest of config ...
}

W Route 53 dodaj A record dla aws.example.com i ustaw wartość na ten sam adres IP używany dla strefy apex.

 11
Author: Vincent Mac,
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
2012-06-20 20:35:11

Update

Chociaż moja oryginalna odpowiedź jest nadal aktualna i może być pomocna w zrozumieniu przyczyny, dla której przekazywanie adresów URL opartych na DNS nie jest dostępne za pośrednictwem Amazon Route 53 po wyjęciu z pudełka, Gorąco polecam sprawdzenie całkowicie inteligentnego rozwiązania pośredniego Vivek M. Chawla za pośrednictwem wprowadzonego w międzyczasie Amazon S3 wsparcie dla przekierowań stron internetowych i osiągnięcie autonomicznego serwera mniej, a tym samym darmowe rozwiązanie w AWS tylko więc.

    W związku z tym, że nie jest to możliwe, nie jest to możliwe, ponieważ nie jest to możliwe, ponieważ nie jest to możliwe, ponieważ nie jest to możliwe.]}

Oryginalna Odpowiedź

Nettica musi uruchamiać niestandardowe rozwiązanie przekierowania, oto problem:

Możesz utworzyć alias CNAME jak aws.example.com dla myaccount.signin.aws.amazon.com, jednak DNS nie zapewnia oficjalnego wsparcia dla aliasingu podkatalogu jak console w tym przykład.

  • szkoda, że AWS nie wydaje się robić tego domyślnie po naciśnięciu https://myaccount.signin.aws.amazon.com/ (właśnie próbowałem), ponieważ rozwiązałoby to problem od razu i miało sens; poza tym powinno być dość łatwe do skonfigurowania na ich końcu.

Z tego powodu kilku dostawców DNS najwyraźniej zaimplementowało niestandardowe rozwiązanie, aby umożliwić przekierowania do podkatalogów; zakładam, że zasadniczo ułatwiają one alias CNAME dla domeny własnej i przekierowują stamtąd ponownie do miejsca docelowego poprzez bezpośrednie przekierowanie http 3xx .

Aby osiągnąć ten sam wynik, musisz mieć uruchomioną usługę HTTP wykonującą te przekierowania, co nie jest prostym rozwiązaniem, na które można oczywiście liczyć. Może / mam nadzieję, że ktoś może wymyślić mądrzejsze podejście nadal jednak.

 9
Author: Steffen Opel,
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 12:10:31

Jeśli nadal masz problemy z prostym podejściem, tworząc puste wiadro, to Redirect all requests to another host name Pod statycznym hostingiem we właściwościach za pośrednictwem konsoli. Upewnij się, że ustawiłeś 2 Rekordy A w route53, jeden dla final-destination.com i jeden dla redirect-to.final-destination.com. Ustawienia dla każdego z nich będą identyczne, ale nazwa będzie inna, więc pasuje do nazw ustawionych dla wiadra / adresów URL.

 0
Author: DanV,
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
2016-10-01 08:44:40