Azure web.config 限制 IP 地址页面刷新异常
Azure web.config restricting IP Addresses page refresh exception
我正在尝试将对 Azure 网站的访问限制为某些 IP 地址。
它主要是一个 PHP 5.4 站点,但我使用 web.config 到 allow/restrict 访问。
目前它拒绝除列出的 IP 之外的所有人,但是,当页面首次从允许的 IP 地址加载时,它总是首先显示异常:
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
如果随后刷新页面,它会将页面作为 normal/expected 交付给用户。每当首次打开浏览器(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>
我没有发现您的 Web.config
文件有任何问题。可能发生的情况是浏览器正在缓存主页。因此,当您刷新页面时,它会正确加载。
Azure 支持人员回复我说这是一个错误,将在未来的更新中修复。
However, there is also a fix -> switching the site to be in 'Always On' mode
这要求网站使用基本/标准层级,即您不能在免费层级中使用 'always on'。
好吧,希望您仍然可以使用免费层使其正常工作...一旦他们修复了错误:)
这部分现在可以在云服务配置文件(.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。
我正在尝试将对 Azure 网站的访问限制为某些 IP 地址。
它主要是一个 PHP 5.4 站点,但我使用 web.config 到 allow/restrict 访问。
目前它拒绝除列出的 IP 之外的所有人,但是,当页面首次从允许的 IP 地址加载时,它总是首先显示异常:
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
如果随后刷新页面,它会将页面作为 normal/expected 交付给用户。每当首次打开浏览器(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>
我没有发现您的 Web.config
文件有任何问题。可能发生的情况是浏览器正在缓存主页。因此,当您刷新页面时,它会正确加载。
Azure 支持人员回复我说这是一个错误,将在未来的更新中修复。
However, there is also a fix -> switching the site to be in 'Always On' mode
这要求网站使用基本/标准层级,即您不能在免费层级中使用 'always on'。
好吧,希望您仍然可以使用免费层使其正常工作...一旦他们修复了错误:)
这部分现在可以在云服务配置文件(.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。