问题 1: 我有一个托管在 IIS 7.5 上的 asp.net 4 网站。我有一个文件,它只能从一组 IP 地址访问并且需要匿名访问。
- 遵循http://www.iis.net/ConfigReference/system.webServer/security/ipSecurity中列出的步骤
- 启用IP 和域限制角色
- 选择需要应用限制的文件。通过 UI 添加了限制。
- 重新启动了网络服务器
我假设一个条目像
<location path="WEBSITE/FILEPATH">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<add ipAddress="192.168.100.1" />
<add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
</ipSecurity>
</security>
</system.webServer>
</location>
在我的applicationhost.config文件中。找不到。
尝试在网站的 web.config 中查找条目。也不在那里。
问题: IIS 管理器将这些信息保存在哪里?
问题 2:<location>
我尝试在我的 web.config 文件中添加上述xlm。尝试通过浏览器访问该文件并获得 500 响应代码。我尝试通过 IIS 管理器访问 IP 和域限制模块,但出现错误提示
This configuration section cannot be used at this path.
This level happens when the section is locked at a parent level.
Locking is either by default(overrideModeDefault="Deny")
or set explicitly by a location tab with overrrideMode="Deny"
or the legacy allowOverride="false"
经过一番谷歌搜索后,我打开 applicationHost.config 并将 ipSecurity 标签的覆盖行为更改为
<sectionGroup name="system.webServer">
<!-- other stuff here removed for brevity -->
<section name="ipSecurity" overrideModeDefault="Allow" />
</sectionGroup>
这样做后,我得到了同样的错误。出于纯粹的沮丧和绝望,我也这样做
<location path="" overrrideMode="Allow">
<system.webServer>
<modules>
<add name="IpRestrictionModule" lockItem="false"/>
</modules>
</system.webServer>
</location>
我确定我错过了一些非常简单的东西。
我希望我能够清楚地提出我的问题。