【问题标题】:How to configure nginx www and non-www domains如何配置 nginx www 和非 www 域
【发布时间】:2018-01-07 15:23:34
【问题描述】:

我正在按照两个教程(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”重定向到默认页面(设置为默认的块服务器)而不是正确的页面(域1的块服务器文件中的那个)
  • “domain2.com”工作正常。
  • “www.domain2.com”不起作用 (DNS_PROBE_FINISHED_NXDOMAIN)。

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

【问题讨论】:

  • 谢谢,@Timino,我过去已经阅读过那篇文章,但它没有用,因为我有另一个 DNS 记录,但现在它适用于该线程的答案之一。跨度>

标签: ubuntu nginx server dns no-www


【解决方案1】:

我终于找到了办法。

这是我已经证明的服务器块配置,但使用其他 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 的建议让我再次尝试。

【讨论】:

    猜你喜欢
    • 2011-12-18
    • 1970-01-01
    • 2020-12-31
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2018-07-23
    • 2016-11-18
    相关资源
    最近更新 更多