2012-11-29 41 views
23

在我的nginx的conf文件,我有:如何让nginx的听服务器名:端口

listen  80; 
    server_name $hostname; 

但是如果我做netstat的我看到它在0.0.0.0:80

听我想要发生的事情是nginx监听$ hostname:80,有没有办法配置它来做到这一点?

到目前为止,我尝试了不同的设置,但没有成功。感谢你的帮助。

回答

36

server_namedocs指令用于标识虚拟主机,它们不用于设置绑定。

netstat告诉你nginx监听0.0.0.0:80这意味着它将接受来自任何IP的连接。

如果要更改IP nginx绑定,则必须更改规则的listendocsdocs规则。
所以,如果你想设置Nginx的结合localhost,你会改变,要:

listen 127.0.0.1:80 

这样,未来自本机丢弃请求(他们甚至不打nginx的)。

+0

我想问问为什么给localhost作为listen ip,也就是说我们不希望从输出世界接收到请求吗? – ransh

+0

是的,这就是原因。对于地方发展来说,情况通常如此。例如,在远程服务器上,您可以执行类似操作来防止“外部”字访问站点,从而将访问权限限制为只能访问服务器的SSH访问权限。 –