nginx错误“服务器名称冲突”被忽略[关闭]


125
server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    #root /usr/share/nginx/www;

root /home/ubuntu/node-login;
    # Make site accessible from 
    server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com;

location /{
    proxy_pass http://127.0.0.1:8000/;
    proxy_redirect off;
}

}

这会导致nignx错误[警告]在0.0.0.0:80上冲突的服务器名称“ ec2 ...”被忽略,我不明白,任何解释都值得赞赏。谢谢。


似乎有一个默认的默认值0.0.0.0:80,添加它对我明确起作用。听ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; 其次是server_name指令起作用。
user144712​​1

1
检查/etc/nginx/sites-available/<site-name>是否链接到/etc/nginx/sites-enabled/<site-name>。此处的其他文件可能包含重复或冲突的配置。
汉学2015年

config.force_ssl = true为了false解决我的问题而改变,这花了我几天的时间
Muyide Ibukun '18

1
对我来说,同样的错误是由于server_name当我有多个server条目时,其中一行的末尾缺少分号引起的。
凯文

2
就我而言,来自LetsEncrypt的Certbot已在默认文件中添加了一个服务器块。这样做的原因是,在设置单独的服务器块之前,我尝试获取证书。
Alex D

Answers:


162

我假设您正在运行Linux,并且正在使用gEdit编辑文件。在中/etc/nginx/sites-enabled,它可能已留下了一个临时文件,例如default~(观看~)。

根据您的编辑器,文件可以命名.save或类似名称。只需运行$ ls -lah即可查看哪些文件不存在,然后将其删除(感谢@Tisch)。

删除此文件,它将解决您的问题。


在Ubuntu 12.04 x86_64 + nginx上为我解决了该问题
Stephen Sprinkle

1
你能澄清一下吗?在启用/ etc / nginx / sites的我的/ etc / nginx / sites启用文件中,我根本看不到任何“默认〜”文件。
大卫·圣洛斯

3
@Jakobud在/etc/nginx/sites-enabled。我已编辑答案以提及它。
奥马尔·伊萨维

3
我有一个导致该问题的.save文件。
Tisch

2
就我而言,一些emacs配置创建了一个带有前导和尾随的文件#,例如#portal#
taffit's

31

server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com在配置中的另一个位置。


2
我检查了一下,没有找到任何东西。当我删除“ ec2_xxx ...”时,它不会发出此警告。Nginx配置中是否有0.0.0.0:80的隐式默认值?
user144712​​1

官方文档default: listen *:80 | *:8000;
VBart 2012年

2
对我来说就是这样,但是对了localhost
罗默2014年

12

只能定义一个本地主机,检查启用站点或nginx.conf。


8
我在两个单独的* .conf文件中有两个相同的“ server_name”指令。谢谢。
费利佩·阿尔瓦雷斯

1
这也解决了我的问题。我在不同的* .conf文件中放置了2个相同的服务器块。谢谢!
普拉纳夫·吉图里

1
另外,检查此目录中的所有文件:/etc/nginx/conf.d。每个域servername在该目录中的文件中也只能出现一次(作为值)。那是我的问题!
SherylHohman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.