我们使用了许多以 NGinx 为前端的应用服务器。现在我们希望限制代理对某些应用的访问,但仍允许在同一主机和内部 LAN 上运行的脚本绕过新的身份验证。
为此,我们在配置中添加了以下内容:
satisfy any;
allow 192.168.32.0/24;
allow 192.168.29.29;
allow 127.0.0.1;
deny all;
proxy_pass http://127.0.0.1...
然而,这允许全部请求进入——大概是因为代理是到 127.0.0.1 进行的,因此所有请求都符合上述“允许 127.0.0.1”规则。
我们做错了什么?正确的方法是什么?
答案1
好的,我们找到了原因,NGinx 是无辜的。最近对设置进行了(看似)不相关的更改,将 HTTP 重定向到 HTTPS。在我们的设置中——出于难以解释的原因——SSL 连接由在同一台机器上运行的 HAProxy 终止。
所以,全部HTTP 连接首先重定向到 HTTPS,然后再重定向到 SSL全部看起来(对于 NGinx)来自 127.0.0.1。抱歉打扰了,感谢所有提供帮助的人。