在NGINX中仅允许本地网络访问



我有一个物理服务器在nginx中运行多个server块,对应于不同的子域。其中之一我希望只能从与服务器位于同一本地网络上的设备访问。我知道理论上这可以通过以下方式完成

allow 192.168.1.0/24;
deny all;

location块内。但是,当我实际尝试从本地设备访问服务器时,请求被拒绝。查看访问日志,这是因为请求显示为来自我的网络的外部 IP,而不是设备的内部 IP。我该如何解决这个问题?

您的问题可能是您使用外部 DNS,该 DNS 将您的请求路由到您的公共 IP,然后返回到您的网站。设置内部 DNS 并将站点解析直接指向内部 IP。

然后,如您所述,您可以执行以下操作:

cat << 'EOF' >/etc/nginx/private.conf
allow 192.168.1.0/24;
deny all;
EOF

网站会议:

include                 /etc/nginx/private.conf;

最新更新