Leiten Sie Anfragen von Drittanbietern auf Amazon Route 53 um


44

Ich möchte alle Anfragen von example.comnach umleiten www.example.com.

Dies sollte vorzugsweise auf DNS-Ebene geschehen. Ich habe versucht, PTR-Datensätze zu verwenden, aber das schlägt einfach fehl und gibt 404 zurück.

wwww.example.com ist ein ALIAS für einen Elastic Load Balancer.

Was ist der einfachste Weg, um dies zu erreichen?


Was hast du mit PTR-Records probiert? Ich bin neugierig.
TRiG

@flavian das Plakat fragte nach einem DNS-Umschreiben, nicht nach einem URL-Umschreiben, und er sagte ausdrücklich, dass es ihm egal sei, wie die URL aussah.
Pause

4
@flavian, du hast gesagt, dass du die Umleitung in DNS machen willst. Meine Antwort erklärt, wie es in DNS gemacht wird. Wenn Sie die URL umleiten möchten, müssen Sie eine URL neu schreiben. Es hat nichts mit DNS zu tun.
Pause

Gibt es einen bestimmten Grund dafür? Ich würde es umgekehrt machen .
Nyuszika7h

SANs in EV SSL.
Flavian

Antworten:


50

Wenn Sie Route 53 bereits verwenden, können Sie dieses Problem mithilfe des proprietären Alias ​​"record" lösen. Bei Standard-DNS ist dies überhaupt nicht möglich, und Sie müssen von einer Website eine 301-Umleitung senden lassen. Natürlich müssen Sie immer noch die 301-Weiterleitungen senden oder sich mit der Tatsache befassen, dass einige Anfragen ohne das WWW eingehen (obwohl Sie 301s aus SEO-Gründen senden sollten).

Der wahrscheinlich einfachste Weg, dies zu tun, besteht darin, einen S3-Bucket mit dem Namen der nackten Domain einzurichten und die Bucket-Eigenschaften so zu konfigurieren, dass sie von example.com zu www.example.com umleiten. Anschließend erstellen Sie in Route 53 einen Alias ​​für die nackten Domänenname, der auf diesen S3-Bucket verweist.

Aus den Kommentaren

Um die Antwort zu verbessern, haben wir Folgendes getan, damit dies funktioniert:

  • Eimer aufstellen - egal wie der Name lautet und muss öffentlich sein.
  • Klicken Sie im Bucket auf Eigenschaften und dann auf Statisches Website-Hosting. Klicken Sie auf Alle Anforderungen an einen anderen Hostnamen umleiten und geben Sie die Site ein, zu der der Datenverkehr geleitet werden soll.
  • Kopieren Sie den Endpunkt des Bucket-Namens, wechseln Sie in der Route53-Konsole in die gehostete Zone und fügen Sie der URL, von der Sie umgeleitet werden müssen, einen CNAME mit dem Alias-Nr. Hinzu. Fügen Sie den Bucket-Endpunkt als Wert ein.

@ michael-hampton korrigiere mich wenn ich mich irre aber der S3 bucket leitet nur für den nackten domainnamen ohne pfad um, oder? Ich habe einen S3-Bucket korrekt für meine Domain hinzugefügt, dieser leitet jedoch nur die nackte Domain um und leitet nichts um, das einen Pfad hat. Ich vermute, Mod Rewrite ist der richtige Weg?
John Harding

@ JohnHarding Ich weiß nicht. Ich benutze die meisten Amazon AWS-Dienste nicht mehr, einschließlich S3.
Michael Hampton

2
Um die Antwort zu verbessern, haben wir Folgendes getan, damit dies funktioniert: - Eimer einrichten - spielt keine Rolle, wie er heißt, und muss öffentlich zugänglich sein. - Klicken Sie im Bucket auf Eigenschaften und dann auf Hosting statischer Websites. Klicken Sie auf Alle Anforderungen an einen anderen Hostnamen umleiten und geben Sie die Site ein, zu der der Datenverkehr geleitet werden soll. - Kopieren Sie den Endpunkt des Bucket-Namens und wechseln Sie in der Route53-Konsole in die gehostete Zone. Fügen Sie der URL, von der Sie umgeleitet werden müssen, einen CNAME mit dem Alias-Nr. Hinzu und fügen Sie den Bucket-Endpunkt als Wert ein.
NathanQ

4
Dies funktioniert nur bei http-Anfragen, da S3 kein https unterstützt. Anfragen an https://example.comwerden fehlschlagen.
Harry King

Um eine https://example.comWeiterleitung zu https://www.example.comIhnen durchzuführen, müssen Sie leider eine weitere Cloudfront einrichten, die auf einen Bucket mit einer statischen http-Weiterleitung zu der verweist www.example.com. Erwähnenswert ist, dass Sie die Apex-Domain in CNAMEIhrer Cloudfront-Konfiguration in das Feld einfügen müssen
Dienstag,

6

Für einen DNS-Alias ​​müssen Sie lediglich einen CNAME- oder A-Eintrag in DNS hinzufügen. Sehen Sie meine Antwort hier: Wie leite ich in Route53 www auf nicht www um?

Zum Umschreiben von URLs (wie beim Umleiten der Clients an eine andere Adresse) benötigen Sie eine Form von URL-Umschreibelogik, die auf dem Webserver ausgeführt wird. Es gibt verschiedene Möglichkeiten, dies zu tun, und es hängt davon ab, welche Art von Webserver Sie verwenden. Am beliebtesten ist die Verwendung von mod_rewrite mit Apache. Diese Seite ist gespickt mit mod_rewrite Fragen, ein paar Suchanfragen sollten das bekommen, was Sie wollen.


Ich habe CNAME auf meinem internen bind9 srv vor genau einer Stunde verwendet, aber die Ergebnisse sind nicht die gleichen wie beim Umschreiben von URLs. Wenn Sie diesen CNAME in die Adressleiste des Browsers eingeben, erhalten Sie genau diese URL. Sie ändert sich nicht in die URL, auf die CNAME verweist. Ich benutze jetzt Apache mod_rewrite und sende 301s, wenn es kein WWW gibt. Präfix.
Kitet

3
Die Antwort, zu der Sie einen Link erstellen, ist zum Senden www.domain.coman bestimmt domain.com. Diese Frage dreht sich um das Gegenteil. Funktioniert Ihre Lösung für die Verwendung von CNAMEoder ADatensätzen zum Senden domain.coman www.domain.com?
Carl G

4

Sie können dies mit Hilfe eines S3-Eimers tun. Schritte werden unten eingefügt:

Schritt 1. Erstellen Sie einen S3-Bucket.

Schritt 2. Erstellen Sie den Bucket als statisches Website-Hosting mit Redirect.

Schritt 3. Bearbeiten Sie den AWS Route 53-Eintrag für eine Nicht-WWW-Domain.

A - IPv4-Adresse -> Alias ​​Ja -> Alias-Ziel (Wählen Sie den Endpunkt des S3-Buckets aus der Dropdown-Liste aus).

Schritt 4. Datensatz speichern.


0

AWS Route53 bietet derzeit keine Unterstützung für die Umleitung eines so genannten APEX-Eintrags (der Stammdomäne) auf einen anderen Domänennamen, obwohl an einer Lösung gearbeitet wird.

Ich habe dies erreicht, indem ich einen A-Eintrag (Alias) erstellt habe, der meine Root-Domain (devopsfolks.com) auf die IP-Adresse meiner von WP gehosteten Lösung verweist. Die Antwort lautet: Ja, wenn sich die IP-Adresse ändert, müssen Sie dies tun um den Alias ​​zu ändern. Der Anbieter hat mir jedoch garantiert, dass die IP-Adresse repariert ist, es sei denn, er muss eine Art Notfallwiederherstellung durchführen und die Hardware ändern. In diesem Fall wird er einen Proxy zusammenstellen, um die Umleitungen durchzuführen, und dem Kunden 45 Tage Zeit geben, um die Zuordnung zu ändern.


5
A bedeutet nicht Alias, sondern Adresse. Mit der oben gezeigten S3-Bucket-Methode können Sie auf einfache Weise eine Umleitung mit Route 53 durchführen.
Michael Hampton

"Sie arbeiten an einer Lösung" gab es ein Update dazu?
Tom
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.