Nginx
如何在不允許所有人的情況下允許來自 127.0.0.1 的未經身份驗證的請求?
我們使用許多以 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”規則。
我們做錯了什麼?什麼是正確的方法?
好的,我們找到了原因,NGinx 是無辜的。最近引入了一個(看似)不相關的設置更改,將 HTTP 重定向到 HTTPS。在我們的設置中——出於難以解釋的原因——SSL 連接被同一台機器上執行的 HAProxy 終止。
因此,所有HTTP 連接首先被重定向到 HTTPS,然後 SSL 連接都顯示(對 NGinx)來自 127.0.0.1。對噪音感到抱歉,並感謝所有試圖提供幫助的人。