Windows-Server-2012-R2
如何在 IIS8,5 (Windows 2012R2) 中限制對網站的訪問
我已經閱讀了對 IIS8 中的網站進行 IP 限制以僅允許一個或多個 IP 並拒絕其他所有人的內容,您可以這樣做:
- 將“未指定客戶的訪問”設置為“拒絕”
- 為“允許”添加 IP 地址
(如下圖所示)
但是,當我這樣做時(如下面的螢幕截圖所示),我仍然可以從其他 IP 訪問該站點。
這裡缺少什麼?還有什麼需要做的嗎?
我嘗試了 iisreset 並且該頁面沒有瀏覽器記憶體在測試機器上,應該沒有訪問權限。
如果安裝了 IIS Windows 功能下的 IP 安全,您可以將其添加到您的 web.config 以阻止 IP:
<location path="Default Web Site"> <system.webServer> <security> <ipSecurity allowUnlisted="false"><!-- this line blocks everybody, except those listed below --> <clear/> <!-- removes all upstream restrictions --> <add ipAddress="192.168.100.1" /> <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" /> </ipSecurity> </security> </system.webServer> </location>
在搞砸了很多之後,我發現以下內容對我有用(win server 2012 R2 上的 IIS 8.5.X)
確保為 web.config 管理啟用功能
- 在IIS中
- 點擊根伺服器
- 點兩下功能委派(管理下)
- 向下滾動到IP 地址和域限制
- 改為讀/寫
(在我的情況下,它是只讀的,這是問題所在)
然後編輯 web.config 以包含
<system.webServer> <security> <!-- this line blocks everybody, except those listed below --> <ipSecurity allowUnlisted="false"> <!-- removes all upstream restrictions --> <clear /> <add ipAddress="X.X.X.X" allowed="true" /> <add ipAddress="127.0.0.1" allowed="true" /> </ipSecurity> </security> </system.webServer>
其中 XXXX 是您希望允許的 IP(為您希望允許的每個 IP 或 IP 子網組合添加這樣的一行)
值得注意的是文件似乎錯過了allowed=“true”以及任何提及允許委託功能的要求。感謝@Summit的提示