通过UI在文件级别设置的Ipsecurity限制未反映在applicationhost.config或web.config中

时间:2012-05-04 13:18:08

标签: iis-7.5

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

  1. 按照http://www.iis.net/ConfigReference/system.webServer/security/ipSecurity
  2. 中列出的步骤操作
  3. 启用 IP和域限制角色
  4. 选择需要应用限制的文件。通过用户界面添加了限制。
  5. 重新启动网络服务器
  6. 我假设有一个像

    这样的条目
    <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:我尝试在我的web.config文件中添加上述 <location> 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>
    

    我确定我错过了一些非常简单的事情。

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

2 个答案:

答案 0 :(得分: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>

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

答案 1 :(得分:4)

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