Nginx

如何在不允許所有人的情況下允許來自 127.0.0.1 的未經身份驗證的請求?

  • August 21, 2017

我們使用許多以 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。對噪音感到抱歉,並感謝所有試圖提供幫助的人。

引用自:https://serverfault.com/questions/868816