3

问题 1: 我有一个托管在 IIS 7.5 上的 asp.net 4 网站。我有一个文件,它只能从一组 IP 地址访问并且需要匿名访问。

  1. 遵循http://www.iis.net/ConfigReference/system.webServer/security/ipSecurity中列出的步骤
  2. 启用IP 和域限制角色
  3. 选择需要应用限制的文件。通过 UI 添加了限制。
  4. 重新启动了网络服务器

我假设一个条目像

<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>

我确定我错过了一些非常简单的东西。

我希望我能够清楚地提出我的问题。

4

2 回答 2

4

据我所知,这些设置只能在文件夹级别配置,而不是在文件级别。在 IIS 管理管理单元中,没有选择文件的选项,在选择此选项之前,只能选择文件夹和网站。

编辑:我已经找到了你所做的并且实际上可以做到这一点(令我惊讶的是,配置管理器甚至可以在子文件夹中的 web.config 文件中创建元素)。

配置存储在 C:\windows\system32\inetsrv\config 的 ApplicationHost.config 中:

<location path="apixaban.de/test/test.aspx">
    <system.webServer>
        <security>
            <ipSecurity>
                <add ipAddress="172.100.16.11" allowed="true" />
            </ipSecurity>
        </security>
    </system.webServer>
</location>

注意:这是“配置”节点的直接子节点。

于 2012-05-04T13:23:13.237 回答
4

尝试在 Notepad 或 wordpad 中打开文件,而不是在 64 位操作系统上使用 Notepad++ 或 Editplus。如果您在 Notepad++ 或 Editplus 中打开文件,则不会反映通过 IIS UI 所做的更改。还有其他与在 Notepad++ 中编辑和查看文件有关的其他问题。 http://www.cosnetics.co.uk/articles/cannot-manually-edit-applicationhost.config/

于 2012-05-11T11:22:23.020 回答