如何配置nginx www和非www域

时间:2017-07-31 22:33:54

标签: ubuntu nginx server dns no-www

我按照两个教程(12)在我的服务器上设置了两个域,但经过多次尝试后,我无法弄清楚如何让两个域都正常工作和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"无法正常工作(Chrome上的DNS_PROBE_FINISHED_NXDOMAIN错误)。
  • " www.domain1.com"重定向到默认页面(设置为默认的块服务器)而不是正确的页面(domain1的块服务器文件中的那个)
  • " domain2.com"工作正常。
  • " www.domain2.com"不工作(DNS_PROBE_FINISHED_NXDOMAIN)。

我重新启动了nginx和VPS,但两者仍然以不同的方式工作(如我所述)。

1 个答案:

答案 0 :(得分:0)

我终于找到了办法。

它是我已经证明但使用其他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的建议让我再次尝试。