Windows-Server-2012-R2

如何在 IIS8,5 (Windows 2012R2) 中限制對網站的訪問

  • July 31, 2018

我已經閱讀了對 IIS8 中的網站進行 IP 限制以僅允許一個或多個 IP 並拒絕其他所有人的內容,您可以這樣做:

  1. 將“未指定客戶的訪問”設置為“拒絕”
  2. 為“允許”添加 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的提示

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