gpt4 book ai didi

redirect - DNS 记录将 www 重定向到非 www

转载 作者:行者123 更新时间:2023-12-02 17:09:16 24 4
gpt4 key购买 nike

我正在使用Namecheap域名和Vultr主持。

我正在尝试将 DNS www 重定向到非 www。

www.example.com 至 example.com

<小时/>

我联系了 Vultr 并询问如何使用他们的 DNS 管理器执行此操作,他们说他们不会提供帮助,因为它是 self 管理的。所以我联系了 Namecheap,他们说他们不会提供帮助,因为他们无法访问 Vultr 的 DNS 管理器,不会告诉我我向他们展示的记录是否正确,我需要联系 Vultr。所以我处于无限的支持循环中。

<小时/>

Vultr DNS 管理器

我关注了this answer了解如何设置 CNAME 以重定向到非 www。

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

等了一晚上传播后,www仍然可以访问,并且没有重定向。

它不允许我创建另一个 A 记录,只能创建 CNAME。它说:

Unable to add record: A CNAME record is not allowed to coexist with any other data. 
<小时/>

NGINX

我关注了this guide并尝试使用站点可用配置重定向它。 Http 和 Https 都可以工作,但 www 不会重定向到非 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 和非 www 指向服务器的 IP 地址(它使差别不大)。 nginx 配置负责执行从 www 到非 www 的重定向。

您的第二个服务器 block 旨在从 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_ 指令移动到外部 block 中,并允许它们继承到两个服务器 block 中(如如上所示)。

参见this document了解更多。

关于redirect - DNS 记录将 www 重定向到非 www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com