Nginx 警告“0.0.0.0:80 上的服务器名称 <domain_name> 冲突,已忽略”

rai*_*ing 5 nginx ghost

我浏览了几个论坛和 StackOverflow 问题,但我真的不知道为什么这不起作用。

我在 Digital Ocean Droplet 上运行 Ghost.org 博客,并根据本教程对其进行了配置对其进行了配置。一周前我拍了一张快照并销毁了水滴。目前一切正常。

今天,我使用相同的快照创建了一个新的 Droplet。由于IP不同,我相应地修改了域设置,它也反映在我的计算机上。然后我尝试访问该网站,但连接超时。即使过了一个小时左右,它还是超时了,所以我认为这不是 DNS 传播的错误。对whatsmydns.net 进行简单检查也证实这不是问题所在。

经过进一步调查,我发现/var/log/nginx/error.log其中包含以下行 - 今天的日期唯一的一行:

2016/05/29 16:32:10 [warn] 988#0: conflicting server name "foobar.com.tld" on 0.0.0.0:80, ignored

我已经检查了我知道可能会发生冲突的两个配置 -nginx.conf以及sites-enabled/ghost(符号链接到sites-available/ghost)是否存在任何冲突 - 但我似乎找不到任何冲突。

我对 nginx 不太满意——这确实是我第一次接触它,但我现在已经绞尽脑汁超过 2.5 个小时了,非常感谢您的帮助。

nginx.conf: http: //pastebin.com/YUhBZVhX
sites-enabled/ghosthttp://pastebin.com/3cdZgTG3
www/ghost/config.js: http: //pastebin.com/iunffMzN

编辑/etc/nginx/conf.d/文件夹是空的,所以那里不存在冲突。

编辑2:最简单的配置:

server {
    listen 80;
    server_name foobar.com;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎也不起作用。进行此更改后,我确实重新启动了nginx服务,并且还相应地修改了 Ghostconfig.js并重新启动了其服务。

编辑3:文件夹中没有隐藏或备份文件sites-enabled

小智 0

一旦您确认Nginx 配置中的其他任何地方foobar.com都没有使用它server_name,请查找$hostname或其他 Nginx 变量,其值可能与您的匹配server_name

Nginx 变量的字母索引

例子:

server {
    server_name localhost $hostname;
    listen 80;

    access_log off;
}
Run Code Online (Sandbox Code Playgroud)

让我有一段时间很困惑。