我有一个 .Net 应用程序,它使用 spring.net 远程处理通过 IIS 7.5 公开远程处理服务。出于安全原因,我想从 HTTP 响应标头中删除一些信息,例如“服务器:IIS/7.5”。我轻松删除了 X-Powered-By 等其他标签,但是对于服务器标签,我尝试了互联网上提供的所有解决方案,但都没有奏效。我尝试设置 DisableServerHeader 注册表项或安装 URLrewrite 工具并更改我的 web.config 并添加 outboundRule 或任何其他编码解决方案,例如在我的 global.asax 文件中添加自定义 HTTP 模块或处理 http 上下文的 preRequestHandling。但没有一个对我有用。基本上,考虑到我正在使用 .net 3.5 和 .net 远程处理 IIS 7.5,是否可以从响应标头中删除这个值 Server ?我应该提一下,这个标签'
问问题
67 次
1 回答
0
不幸的是,您不能真正删除 Server 标头。但是您可以重写其内容并将其清空。在 IIS 7+(IIS 7、8.5、8.0、8.5、IIS 10.0)上,使用重写出站规则从 Server: 标头响应中删除 Web 服务器版本信息。
您可以使用以下 URL 重写出站规则:
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
</rewrite>
于 2020-08-06T02:42:26.300 回答