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

在NGINX中仅允许本地网络访问,nginx,networking,server,nginx-location,Nginx,Networking,Server,Nginx Location,我有一台物理服务器,在nginx中运行多个对应于不同子域的server块。其中一个我希望只能从与服务器位于同一本地网络上的设备访问。我知道理论上这是可以做到的 allow 192.168.1.0/24; deny all; 在位置块内。但是,当我实际尝试从本地设备访问服务器时,请求被拒绝。查看访问日志,这是因为请求显示为来自网络的外部IP,而不是设备的内部IP。如何解决此问题?您的问题可能是您正在使用外部DNS将请求路由到您的公共IP,然后返回到您的网站。设置内部DNS并将站点解析直接指向内部

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

allow 192.168.1.0/24;
deny all;

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

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

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

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

设备是否使用服务器的公用名称?设备需要连接到服务器的内部IP,以避免通过外部IP路由。hm是。即使通过公共名称访问,是否也只允许本地设备?使用动态IP添加
允许[外部IP]似乎不是一个很好的解决方案你解决了吗?我也有同样的要求。非常感谢。
include                 /etc/nginx/private.conf;