Frage Umleiten von Nicht-WWW-Anfragen an www auf Amazon Route 53


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

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

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

Was ist der einfachste Weg dies zu erreichen?


36
2018-02-18 14:22


Ursprung


Was hast du mit PTR Records versucht? Ich bin neugierig. - TRiG
@flavian Das Poster bat um eine DNS-Neuschreibung, nicht um eine URL-Neufassung, und er sagte ausdrücklich, dass es ihm egal sei, wie die URL aussah. - pauska
@flavian um f willen, du hast gesagt, dass du die Umleitung in DNS machen willst. Meine Antwort erklärt, wie man es in DNS macht. Wenn Sie die URL umleiten möchten, müssen Sie eine URL neu schreiben. Es hat nichts mit DNS zu tun. - pauska
Gibt es einen besonderen Grund dafür? Ich würde es tun umgekehrt. - nyuszika7h
SANs in EV SSL. - flavian


Antworten:


Wenn Sie Route 53 bereits verwenden, können Sie ihren proprietären Alias ​​"record" verwenden, um dieses Problem zu lösen. Mit Standard-DNS können Sie dies überhaupt nicht tun, und Sie müssen eine Website eine 301-Weiterleitung senden. Natürlich müssen Sie immer noch die 301 Weiterleitungen senden oder mit der Tatsache umgehen, dass einige Anfragen ohne das www kommen werden (obwohl Sie 301s aus SEO Gründen senden sollten).

Der 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 und dann in Route 53 einen Alias ​​für den nackten erstellen Domänenname, der auf diesen S3-Bucket verweist.

Aus den Kommentaren 

Um die Antwort zu verbessern, hier ist, was wir getan haben, damit das funktioniert:

  • Richte den Bucket ein - egal wie sein Name ist und muss öffentlich sein.
  • Klicken Sie im Bereich "Bucket" auf Eigenschaften und klicken Sie auf das statische Website-Hosting. Klicken Sie auf Alle Anfragen an einen anderen Hostnamen umleiten und geben Sie die Site ein, zu der der Traffic gehen soll.
  • Kopieren Sie den Endpunkt des Bucket-Namens, gehen Sie in der Route53-Konsole zur gehosteten Zone, und fügen Sie einen CNAME mit Alias ​​No zur URL hinzu, von der Sie weitergeleitet werden müssen, und fügen Sie den Bucket-Endpunkt als Wert ein.

41
2018-02-18 14:43



@ michael-hampton korrigiert mich, wenn ich falsch liege, aber der S3-Bucket leitet nur für den nackten Domain-Namen ohne Pfad um, nicht wahr? Ich habe einen S3-Bucket für meine Domain korrekt hinzugefügt, aber er leitet nur die nackte Domain um und leitet nichts weiter, das einen Pfad hat. Ich denke, Mod Rewrite ist der Weg zu gehen? - John Harding
@ JohnHarding Ich weiß nicht. Ich verwende die meisten Amazon AWS-Dienste nicht mehr, einschließlich S3. - Michael Hampton♦
Um die Antwort zu verbessern, hier ist, was wir getan haben, um dies zum Laufen zu bringen: - Set-up-Bucket - egal, was es heißt und öffentlich sein muss. - Klicken Sie im Bucket auf Eigenschaften und klicken Sie auf statisches Website-Hosting. Klicken Sie auf Alle Anfragen an einen anderen Hostnamen umleiten und geben Sie die Site ein, zu der der Traffic gehen soll. - Kopieren Sie den Endpunkt des Bucket-Namens und gehen Sie zur gehosteten Zone in der Route53-Konsole und fügen Sie einen CNAME mit Alias ​​No zur URL hinzu, von der Sie den Bucket-Endpunkt als Wert umleiten und einfügen müssen. - NathanQ
Dies funktioniert nur für HTTP-Anfragen, da S3 https nicht unterstützt. Anfragen an https://example.com wird versagen. - Harry King


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

Für das Umschreiben von URLs (wie beim Umleiten der Clients zu einer anderen Adresse) benötigen Sie eine Form der URL-Umschreiblogik, die auf dem Webserver ausgeführt wird. Es gibt mehrere 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 mit mod_rewrite Fragen gespickt, ein paar Suchen sollten bekommen, was Sie wollen.


6
2018-02-18 14:44



Ich habe CNAME auf meinem internen bind9 srv vor genau einer Stunde verwendet, aber die Ergebnisse sind nicht die gleichen wie beim URL-Neuschreiben. Wenn Sie diesen CNAME in die Adresszeile 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
Die Antwort, auf die Sie verlinken ist zum Senden www.domain.com zu domain.com. Diese Frage ist das Gegenteil. Ist Ihre Lösung zu verwenden CNAME oder A Datensätze funktionieren zum Senden domain.com zu www.domain.com? - Carl G


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

Schritt 1. Erstellen Sie einen S3-Bucket.

Schritt 2. Machen Sie den Bucket zu einem statischen Website-Hosting mit Redirect.

Schritt 3. Bearbeiten Sie den AWS Route 53-Eintrag für eine nicht www-Domäne.

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

Schritt 4. Datensatz speichern.


2
2018-05-15 02:46





AWS Route53 bietet derzeit keine Unterstützung für die Umleitung eines derzeit als APEX-Datensatz (Stammdomäne) bekannten Domänennamens an einen anderen Domänennamen, obwohl sie an einer Lösung arbeiten.

Ich habe dies erreicht, indem ich einen A-Eintrag (Alias) erstellt habe, der meine Stammdomäne (devopsfolks.com) auf die IP-Adresse meiner WP-gehosteten Lösung verweist ... Und die Antwort ist ja, wenn sich die IP ändert, dann brauchst du um den Alias ​​zu ändern. Der Anbieter hat mir jedoch garantiert, dass die IP repariert wird, es sei denn, sie müssen einige Arten von Disaster Recovery durchführen und die Hardware ändern. In diesem Fall werden sie einen Proxy zusammenstellen, um die Umleitungen durchzuführen, während die Kunden 45 Tage Zeit haben, ihr Mapping zu ändern.


0
2018-02-26 06:17



A bedeutet nicht Alias, es bedeutet Adresse. Und Sie können mit Route 53 problemlos eine Weiterleitung durchführen, indem Sie die oben gezeigte S3-Bucket-Methode verwenden. - Michael Hampton♦