如何配置nginx www和非www域
How to configure nginx www and non-www domains
我正在按照两个教程 (1 and 2) 在我的服务器上设置两个域,但经过多次尝试,我无法弄清楚如何让两个域都正常工作以及如何将 www 重定向到非 www。
目前,使用相同的服务器块文件和 DNS 记录,两者都以不同的方式工作,我认为它可能是某种缓存,但我不知道为什么会这样。
服务器块文件是:
server {
listen 80;
listen [::]:80;
server_name domain.com;
root /var/www/domain.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
并且两者具有相同的 DNS 记录:
A Record | @ | VPS IP
A Record | www | VPS IP
问题是域无法正常工作。
- "domain1.com" 不起作用(DNS_PROBE_FINISHED_NXDOMAIN 在 Chrome 上出错)。
- "www.domain1.com" 重定向到默认页面(设置为默认的块服务器)而不是正确的页面(domain1 的块服务器文件中的那个)
- "domain2.com" 工作正常。
- "www.domain2.com" 无效 (DNS_PROBE_FINISHED_NXDOMAIN)。
我重新启动了 nginx 和 VPS,但两者仍然以不同的方式工作(正如我所描述的)。
终于找到方法了
这是一个服务器块配置,我已经证明了但与其他 DNS(过去)一起使用,所以现在它使用以下组合:
DNS记录(同上):
A Record | @ | VPS IP
A Record | www | VPS IP
服务器块配置:
server {
listen 80;
listen [::]:80;
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
}
server {
listen 80;
listen [::]:80;
server_name domain.com;
root /var/www/domain.com/html;
index index.html;
}
感谢@Timilo 的建议让我再次尝试。
我正在按照两个教程 (1 and 2) 在我的服务器上设置两个域,但经过多次尝试,我无法弄清楚如何让两个域都正常工作以及如何将 www 重定向到非 www。 目前,使用相同的服务器块文件和 DNS 记录,两者都以不同的方式工作,我认为它可能是某种缓存,但我不知道为什么会这样。 服务器块文件是:
server {
listen 80;
listen [::]:80;
server_name domain.com;
root /var/www/domain.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
并且两者具有相同的 DNS 记录:
A Record | @ | VPS IP
A Record | www | VPS IP
问题是域无法正常工作。
- "domain1.com" 不起作用(DNS_PROBE_FINISHED_NXDOMAIN 在 Chrome 上出错)。
- "www.domain1.com" 重定向到默认页面(设置为默认的块服务器)而不是正确的页面(domain1 的块服务器文件中的那个)
- "domain2.com" 工作正常。
- "www.domain2.com" 无效 (DNS_PROBE_FINISHED_NXDOMAIN)。
我重新启动了 nginx 和 VPS,但两者仍然以不同的方式工作(正如我所描述的)。
终于找到方法了
这是一个服务器块配置,我已经证明了但与其他 DNS(过去)一起使用,所以现在它使用以下组合:
DNS记录(同上):
A Record | @ | VPS IP
A Record | www | VPS IP
服务器块配置:
server {
listen 80;
listen [::]:80;
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
}
server {
listen 80;
listen [::]:80;
server_name domain.com;
root /var/www/domain.com/html;
index index.html;
}
感谢@Timilo 的建议让我再次尝试。