禁用某些路径的IIS请求筛选

Ant*_*lev 4 iis iis-7 requestfiltering

有没有办法我可以配置IIS 7.0+(或7.5+),以便某些路径完全禁用请求筛选.那是,

http://host.local/foo/bar.cs
Run Code Online (Sandbox Code Playgroud)

是禁止的(因为*.cs明确禁止提供服务文件applicationHost.config),但是

http://host.local/foo/allow-all/bar.cs
Run Code Online (Sandbox Code Playgroud)

被允许.

vcs*_*nes 5

在您的allow-all目录中,您可以使用以下配置创建web.config文件:

<configuration>
    <system.webServer>
        <security>
            <requestFiltering>
                <fileExtensions>
                    <remove fileExtension=".cs" />
                </fileExtensions>
            </requestFiltering>
        </security>
        <staticContent>
            <mimeMap fileExtension=".cs" mimeType="text/plain" />
        </staticContent>
    </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

此配置.cs从请求筛选中删除扩展.此外,要使IIS正确提供内容,它需要MIME类型,因此.cs扩展名将添加为text/plain.

这些更改也适用于所有子目录allow-all.此配置适用于集成应用程序池.Classic可能需要进行其他更改,因为HTTP处理程序也明确禁止.cs.