IIS请求筛选器规则未显示在applicationHost.config

时间:2019-04-11 15:08:03

标签: iis-10 applicationhost requestfiltering

我开始使用请求过滤器来阻止漫游器流量。 我从一个示例.htaccess文件开始,请参见此处:IIS htaccess rule converter only importing 1 rule

我不想通过笨拙的IIS界面手动添加大量规则,所以我宁愿直接将它们添加到文件中。我以为这些规则会放在applicationHost.config中(基于this post),但是在打开%WINDIR%\System32\inetsrv\config\applicationHost.config时,我看不到任何规则。 我还看到了this post,因此我尝试使用Notepad ++和Windows Notepad打开文件,但是仍然看不到我在IIS中创建的规则。

为什么不呢?

1 个答案:

答案 0 :(得分:1)

IIS具有分布式配置系统,正如Lex Li所提到的那样,一个熟悉的好资源是:https://docs.microsoft.com/en-us/iis/get-started/planning-your-iis-architecture/the-configuration-system-in-iis-7

您的配置更改无疑进入了web.config文件。配置将根据配置更改的位置,但是默认情况下,“请求过滤”将转到您要为其设置的最低配置文件。换句话说,如果您正在为站点配置请求过滤,它将转到该站点的web.config。如果要在子目录中进行配置,它将转到该子目录的web.config。实际上,您可以通过命令行来影响设置的位置(即,特定于站点的配置可以转到ApplicaitonHost.config)及其更容易的命令行。

如果您查看ScanHeaders文档中的AppCmd.exe样本,则这些命令将更改(默认情况下)默认网站的web.config。您可以将/ commit:AppHost附加到它们的末尾,以使设置适用于ApplicationHost.config。