停止 Nginx 监听除 127.0.0.1 之外的所有环回 IPv4 地址

停止 Nginx 监听除 127.0.0.1 之外的所有环回 IPv4 地址

在 Ubuntu 上,Nginx 显然会监听 中的所有 IP 127.0.0.0/8。我如何禁用对127.0.0.0127.0.0.2– 的监听127.255.255.255?也就是说,我希望 Nginx 监听的唯一 IPv4 环回地址是127.0.0.1。这个问题的答案应该不是影响 Nginx 监听任何其他 IP 地址(例如,服务器的 LAN 和 WAN 地址)。

停止 nginx 监听所有 IP?是一个相关问题,但这个问题特定于仅在环回接口上禁用 Nginx,而不将其限制为单个监听 IP。

答案1

你读过官方文档吗?listen指示?或者nginx 如何处理请求

句法: 地址[:港口] [默认服务器] [ssl] [http2 | quic] [代理协议] [setfib=数字][快速打开=数字] [积压=数字] [rcvbuf=尺寸][sndbuf=尺寸] [accept_filter=筛选] [延迟] [绑定] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[保持空闲]:[保持]:[保持计数]];

所以

server {
    listen 127.0.0.1:80;     # loopback
    listen 192.168.1.100:80; # LAN
    listen 192.0.2.3:80;     # WAN
}

或者

server {
    listen 127.0.0.1;     # loopback
    listen 192.168.1.100; # LAN
    listen 192.0.2.3;     # WAN
}

因为

要是地址给出时,使用端口 80。

相关内容