如何让nginx监听server_name:port

Ser*_*ade 38 config nginx

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

  listen       80;
    server_name  $hostname;
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ale*_*olo 54

server_name文档指令用于识别虚拟主机,他们没有用来设置绑定.

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

如果要更改IP nginx绑定,则必须更改listen文档规则.
因此,如果要将nginx设置为绑定,则将其localhost更改为:

listen 127.0.0.1:80;
Run Code Online (Sandbox Code Playgroud)

这样,不会来自localhost的请求被丢弃(它们甚至不会命中nginx).