Frage Wie leite ich www zu non-www in Route53 um?


Ich hosten meine Website bei domain.com.

Meine DNS-Einträge in Route53 lauten wie folgt:

domain.com      A       xxx.xxx.xxx.xxx      300
domain.com      NS      stuff.awsdns-47.org  172800
domain.com      SOA     stuff.awsdns-47.org  900

Ich möchte den Traffic umleiten www.domain.com zu domain.com, da dies momentan nur einen 404 zurückgibt. Diese Frage zu SO schlug vor a PTR aufnehmen, und ich fügte hinzu:

www.domain.com  PTR     domain.com           300

aber es hat nicht funktioniert. Was soll ich tun?


18
2017-12-04 16:25


Ursprung


Wenn Sie tatsächlich eine HTTP-Weiterleitung senden möchten, können Sie dies nicht innerhalb von DNS tun. Wenn Sie nicht möchten, dass sich die URL in der Adressleiste ändert, verwenden Sie einen CNAME, wie es pauska vorschlägt. Wenn Sie sich darum kümmern, benötigen Sie einen Webserver, um die 301 zu senden. Einige DNS-Anbieter haben dies als einen Dienst, aber ich glaube nicht, dass Route53 dies tut. - cjc
@cjc Ich interessiere mich nicht für die URL in der Adressleiste. - fredley


Antworten:


PTR dient zum Einrichten von Reverse-IP-Lookups, und Sie sollten sich nicht darum kümmern. Entfernen Sie es.

Was Sie brauchen, ist ein CNAME für www:

www.domain.com  CNAME  domain.com 300

17
2017-12-04 16:31



Dies ist keine Weiterleitung. Für den Fall, dass Sie die Callback-URL in einer Art von Drittanbieter-Dienst definieren müssen, wird obige Lösung nicht funktionieren. Zum Beispiel oAuth (Facebook, Twitter) Authentifizierung. - Ck-


Sie können auch ein ALIAS für WWW auf einen Datensatz von domain.com setzen:

www.domain.com A ALIAS domain.com 300

Ihre endgültigen DNS-Einträge wären also wie folgt:

domain.com          A       xxx.xxx.xxx.xxx      300
domain.com          NS      stuff.awsdns-47.org  172800
domain.com          SOA     stuff.awsdns-47.org  900
www.domain.com      A       ALIAS domain.com (Hosted Zone ID)

10
2017-08-04 06:44



Ich habe das getan, aber es funktioniert immer noch nicht. Gibt es noch etwas, das noch erledigt werden muss? - Utpal - Ur Best Pal
Nach dem Hinzufügen des Alias ​​musste ich den Browser-Cache löschen, damit dies funktioniert. - Sam
Und es hängt von der vorherigen TTL Ihres DNS ab. - Hardeep Singh


Nachdem Sie sowohl für example.com als auch für www.example.com einen CNAME haben, leitet diese nginx-config den Datenverkehr von http zu https sowie von www.example.com zu example.com um

server { 

    listen  80 ;

    server_name  example.com, www.example.com;

    rewrite ^/(.*) https://example.com/$1 permanent;
}

server {  #  redirect www to normal domain

    listen       443  ssl ;

    server_name www.example.com;

    include /etc/nginx/myprojname/include/ssl;

    return 301 https://example.com$request_uri;
}

server {

    listen  443 ssl ;

    include /etc/nginx/myprojname/include/ssl;

    server_name example.com;

    include /etc/nginx/snippets/nginx_common_location_443;

    location / {

        proxy_pass http://127.0.0.1:3000/;
    }

    include /etc/nginx/myprojname/include/custom_server_include;
}

wo mein aktueller Server läuft und Port 3000 überwacht ... das beendet auch mein TLS aber entferne einfach die Erwähnung von ssl ... versteckt in den enthaltenen Dateien sind meine Nginx-Einstellungen, um die Box zu härten


1
2018-06-23 19:14