匯出 (0) 列印
全部展開

封鎖特定 IP 位址不讓它們存取 Web 角色

更新日期: 2014年10月

您可以藉由修改 IIS web.config 檔並建立可解除鎖定 ipSecurity 檔中 ApplicationHost.config 區段的命令檔,將 Azure Web 角色存取權限制為一組指定的 IP 位址。

首先,建立一個在角色啟動時執行的命令檔,該檔案會解除鎖定 ipSecurity 檔中的 ApplicationHost.config 區段。在 Web 角色的根層級建立名為 startup 的新資料夾,然後在此資料夾內建立名為 startup.cmd 的批次檔。將此檔案的屬性設定為 Copy Always,確保將會部署它。

將下列程式碼加入到 startup.cmd 檔中:


%windir%\system32\inetsrv\AppCmd.exe unlock config -section:system.webServer/security/ipSecurity

接著在您的 Web 角色專案中開啟 ServiceDefinition.csdef 檔,並加入下列元素:


<Startup>
   <Task commandLine=”startup\startup.cmd” executionContext=”elevated” />
</Startup>

這樣會使 startup.cmd 批次檔在每次初始化 Web 角色時執行,確保必要的 ipSecurity 區段會解除鎖定。

最後,修改 Web 角色的 system.webServer 檔中的 web.config 區段,以加入具有所授與權限的 IP 位址清單,如下列範例所示:

<system.webServer>
  < security>
    <!—Unlisted IP addresses are denied access–>
    <ipSecurity allowUnlisted=”false”>
      <!—The following IP addresses are granted access–>
      <add allowed=”true” ipAddress=”192.168.100.1” subnetMask=”255.255.0.0″ />
      <add allowed=”true” ipAddress=”192.168.100.2″ subnetMask=”255.255.0.0″ />
    </ipSecurity>
  </security>
</system.webServer>

另請參閱

顯示:
© 2015 Microsoft