如何让nginx监听server_name:port

时间:2012-11-29 20:56:52

标签: nginx config

在我的nginx conf文件中,我有:

  listen       80;
    server_name  $hostname;

但是,如果我使用netstat,我会看到它正在监听0.0.0.0:80

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

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

1 个答案:

答案 0 :(得分:48)

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

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

如果要更改IP nginx绑定,则必须更改listen docs 规则。
因此,如果您想将nginx设置为绑定到localhost,则可以将其更改为:

listen 127.0.0.1:80;

通过这种方式,不会来自localhost的请求被丢弃(它们甚至不会命中nginx)。