在 IIS7 中设置服务器响应标头

在 IIS7 中设置服务器响应标头

在 IIS7 中,是否可以不使用 URL 扫描来删除响应标头中的服务器?我尝试了以下方法:

Http模块

我已经将签名的版本安装到 GAC 中,也尝试了 App_Code 目录,但都没有用。我还尝试设置

HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\DisableServerHeader 

注册表项设置为 1,但仍然没有任何反应。

编辑:我也尝试过这个:社区 ISAPI 过滤器

有什么可行的方法可以做到这一点吗?

答案1

我尝试将以下内容添加到我的应用程序级“Web.Config”文件中,并获得了不同程度的成功:

  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="ETag" />
        <remove name="Server" />
        <remove name="X-AspNet-Version" />
        <remove name="X-AspNetMvc-Version" />
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>

这仅适用于从应用程序目录(及其子目录)提供的内容,在应用于“System32/inetsrv/config”目录下的“applicationHost.config”文件时不起作用。我也遇到过这种更改根本不起作用的情况(我在研究此问题时偶然发现了您的问题),因此您的情况可能会有所不同。

相关内容