Iis

啟用代理模式的 IIS IP 地址和域限制拒絕允許 x-forwarded-for

  • February 2, 2021

根據這些文件,如果設置為 true ,IIS 應該允許根據x-forwarded-forIIS 看到的地址進行 IP 地址限制,如果它位於代理後面。enableProxyMode我已編輯功能設置以啟用代理模式,並為我們的代理 IP 地址添加了“允許”條目。

我的問題是,當我嘗試連接時,我仍然收到拒絕 403 禁止。值得注意的是,我僅在特定網站的其中一個應用程序上進行了配置。IIS 版本是 8.0.x。我在完全重置 IIS 並驗證了 applicationHost.config 後進行了測試:

<location path="mysite.com/myapp">
 <system.webServer>
   <security>
     <ipSecurity allowUnlisted="false" enableProxyMode="true">
       <add ipAddress="my proxy ip..." allowed="true" />
     </ipSecurity>
   </security>
 </system.webServer>
</location>

您的 IP您的x-forwarded-forIP 都必須是允許的條目才能允許請求。

啟用“代理模式”後,伺服器首先檢查所提供的 IP(代理的 IP)是否被允許。如果是這樣,它然後獲取最後一個x-forwarded-forIP 並檢查是否允許,並遞歸x-forwarded-forIP 列表並檢查每個 IP 是否被允許。所有都必須被允許,否則請求被阻止。

如果不允許代理 IP *,*則請求被阻止,x-forwarded-for根本不考慮;您必須信任請求的來源才能嘗試並信任請求的內容。

在 IIS.net 上的這篇 Wade Hilmo 文章中以更長的形式(和更好的術語)解釋了它。

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