DNSlogging将wwwredirect到非www

我正在使用Namecheap Domains和Vultr Hosting。

我正在尝试将DNS wwwredirect到非www。

www.example.com到example.com


我联系了Vultr,并询问他们如何通过他们的DNSpipe理器来做到这一点,他们表示,他们不会帮助,因为它是自我pipe理的。 所以我联系了Namecheap,他们说他们不会因为他们没有访问Vultr的DNSpipe理员而无法帮助,不会告诉我我显示的logging是否正确,我需要联系Vultr。 所以我处于一个无尽的支持循环中。


Vultr DNS Manager

我跟着这个答案如何设置一个CNAMEredirect到非www。

Type   | Name | Data         | Seconds -------------------------------------- A     |     | ipv4 address | 300 AAAA  |     | ipv6 address | 300 CNAME  | .   | example.com  | 300 CNAME  | www | example.com  | 300 

在等待通宵达旦之后,www仍然可以访问,不会redirect。

它不允许我创build另一个Alogging,只有CNAME 。 它说:

 Unable to add record: A CNAME record is not allowed to coexist with any other data. 

NGINX

我遵循这个指南,并尝试使用站点可用的configurationredirect。 Http和Https的工作,但WWW不redirect到非WWW。

 server { # Redirect http to https listen 80; return 301 https://$host$request_uri; } server { # Redirect www to non-www server_name www.example.com; return 301 $scheme://example.com$request_uri; } server { listen 443 ssl default_server; ssl on; ssl_certificate /etc/nginx/ssl/cert_chain.crt; ssl_certificate_key /etc/nginx/ssl/example_com.key; ssl_protocols TLSv1.1 TLSv1.2; server_name example.com; ... 

DNS不能将您的www网站重定向到非www网站。 DNS的唯一目的是使用AAAAACNAME记录将www和non-www指向您服务器的IP地址(这几乎没有什么区别)。 nginx配置负责执行从www到非www的重定向。

您的第二个服务器块旨在从www重定向到非www,但目前仅处理http连接(在端口80上)。

您可以移动默认服务器并使用它将所有内容重定向到目标域名。 例如:

 ssl_certificate /etc/nginx/ssl/cert_chain.crt; ssl_certificate_key /etc/nginx/ssl/example_com.key; server { listen 80 default_server; listen 443 ssl default_server; return 301 https://example.com$request_uri; } server { listen 443 ssl; server_name example.com; ... } 

假设您拥有www和非www域名的公用证书,您可以将ssl_指令移动到外部块中,并允许将它们继承到两个服务器块中(如上所示)。

请参阅此文档了解更多

你可以使用redirect.center并从等式中移除NGINX。

配置和简单更容易,将您的dns记录设置为:

 CNAME | www | example.com.opts-uri.redirect.center 

只是它。