如何让nginx监听server_name:port

dfuffjeb  于 2023-06-21  发布在  Nginx
关注(0)|答案(2)|浏览(204)

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

listen       80;
    server_name  $hostname;

但是,如果我使用netstat,我会看到它正在监听0.0.0.0:80
我想做的是nginx监听$hostname:80,有没有一种方法可以配置它来做到这一点?
我尝试了不同的设置,到目前为止没有成功。感谢你的帮助。

lokaqttq

lokaqttq1#

server_namedocs指令用于标识虚拟主机,它们不用于设置绑定。
netstat告诉你nginx监听0.0.0.0:80,这意味着它将接受来自任何IP的连接。
如果你想改变nginx绑定的IP,你必须改变listen docs规则。
所以,如果你想将nginx设置为绑定到localhost,你可以将其更改为:

listen 127.0.0.1:80;

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

sauutmhj

sauutmhj2#

如果有人不想为localhost或任何其他 internal IP(这是您唯一可以通过更改listen指令的地址来做的事情)这样做,您可以使用allow/deny规则。

allow some.public.ip.here;
deny all;

相关问题