通过 IP 地址阻止对 url 的访问

Blocking access to a url by IP address

出于安全原因,我试图阻止对 Umbraco (v7.2.8) 的管理员 url 的所有访问。我的 web.config 文件中有以下内容,但它不起作用。它会阻止对 url 的所有访问,即使是来自指定的 IP。我是 运行 在我的机器上从 Visual Studio 本地访问的,所以我不确定该站点认为我进入的 IP 是什么,但我已经尝试了所有这些。这个 web.config 看起来不错吗?

  <rewrite>
  <rules>
    <rule name="Restrict URL" enabled="true" stopProcessing="true" >
      <match url="^umbraco($|/)"/>
      <conditions logicalGrouping="MatchAll">

        <add input="{REMOTE_ADDR}" pattern="^192\.168\.8\.100$" negate="true" />

       </conditions>
      <action type="Redirect" url="/no-access/" /> 
    </rule>
  </rules>

如有指点,将不胜感激!我最终会把它部署到 Azure,但我想先让它工作。也许是因为我在本地 运行?

编辑:我尝试了 ipSecurity 解决方案,但收到以下错误。我已经为 IIS 安装了 IP 安全组件。我是 运行 来自 Visual Studio 的站点,所以我不确定我可以从这里在 VS 使用的快速服务上测试它吗?下面的文件我也改成了'allow';

%windir%\system32\inetsrv\config\applicationHost.config

使用 system.webServer >> security >> ipSecurity settings in the web.config inside a location element 更容易实现:

<location path="umbraco">
  <system.webServer>
    <security>
      <ipSecurity allowUnlisted="false" denyAction="NotFound">
        <add allowed="true" ipAddress="192.168.8.100" />
      </ipSecurity>
    </security>
  </system.webServer>
</location>

查看 IIS IP Security 更多详细信息。 IP 安全在 Azure WebApps 上默认启用。