Azure web.config限制IP地址页面刷新异常

时间:2015-01-08 14:02:16

标签: php asp.net azure web-config

我正在尝试将对Azure网站的访问权限限制为某些IP地址 它主要是PHP 5.4站点,但我使用web.config来允许/限制访问 目前它拒绝除列出的IP之外的所有人,但是,当页面首次从允许的IP地址加载时,它始终首先显示异常:

  

您要查找的资源已被删除,名称已更改或暂时无法使用。

如果页面随后被刷新,则会将页面正常/预期地传递给用户。只要首次打开浏览器(Chrome或Firefox)或网页关闭,然后在长时间间隔后再次访问,就会出现例外情况。

web.config位于根目录中,目前还没有其他身份验证。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
  <security>
   <ipSecurity allowUnlisted="false" denyAction="NotFound">
     <clear/>
     <add allowed="true" ipAddress="XX.XX.XXX.XXX" />
    </ipSecurity>
   </security>
  </system.webServer>
</configuration>

3 个答案:

答案 0 :(得分:0)

我的Web.config文件没有任何问题。可能发生的事情是浏览器正在缓存主页。因此,当您刷新页面时,它会正确加载。

答案 1 :(得分:0)

Azure支持回复给我,并说这是一个将在未来更新中修复的错误。

  

然而,还有一个修复 - &gt;将网站切换为“始终开启”模式

这要求网站使用基本/标准层进行站点升级,即您不能在免费套餐中使用“永远在线”。

嗯,希望你仍然可以使用免费套牌让它工作......一旦修复了这个bug:)

答案 2 :(得分:0)

此部分现在可在云服务配置文件(.cscfg)中配置。

<NetworkConfiguration>
    <AccessControls>
        <AccessControl name="test">
            <Rule action="permit" description="test" order="100" remoteSubnet="xxx.xxx.xxx.xxx/32" />
            <Rule action="deny" description="test" order="200" remoteSubnet="0.0.0.0/0" />
        </AccessControl>
    </AccessControls>
    <EndpointAcls>
        <EndpointAcl role="WebRoleName" endPoint="Endpoint1" accessControl="test" />
    </EndpointAcls>
</NetworkConfiguration>

首先添加您要允许的IP地址,然后拒绝所有其他地址。 在 EndpointAcls 中,我们指定 ServiceDefinition.csdef 文件中列出的端点。并将端点连接到新创建的AccessControl。