在 IIS 7.5 中托管的 .Net Remoting 服务中,如何删除 "Server : IIS/7.5" 标记表单响应 header

In a .Net Remoting service hosted in IIS 7.5, how can remove "Server : IIS/7.5" tag form response header

我有一个 .Net 应用程序,它使用 spring.net 远程处理来公开远程处理服务,通过 IIS 7。5.for 出于安全原因,我想删除一些信息,例如“服务器:[=14= .5" 来自 HTTP 响应 header。 我轻松地删除了 X-Powered-By 等其他标签,但是对于服务器标签,我尝试了互联网上提供的所有解决方案,其中 none 有效。我尝试设置 DisableServerHeader 注册表项或安装 URLrewrite 工具并更改我的 web.config 并添加 outboundRule 或任何其他编码解决方案,例如添加自定义 HTTP 模块或在我的 global.asax 文件中处理 http 上下文的 preRequestHandling。但是 none 对我有用。 基本上,是否可以从响应 header 中删除此值 Server ,因为我正在使用 .net 3.5 和 .net remoting over IIS 7.5? 我应该提一下,如果我浏览我放入主机目录的任何页面,这个标签的值将变为空,但对于我的 .Net 远程处理请求,它不起作用并且服务器标签的值响应 http header 仍然是 IIS/7.5

不幸的是,您无法真正删除服务器header。但是你可以重写它的内容并清空它。在 IIS 7+(IIS 7、8.5、8.0、8.5、IIS 10.0)上,使用重写出站规则从服务器中删除网络服务器版本信息:header response.

您可以使用以下 URL 重写出站规则:

<rewrite>    
  <outboundRules rewriteBeforeCache="true">
    <rule name="Remove Server header">
      <match serverVariable="RESPONSE_Server" pattern=".+" />
      <action type="Rewrite" value="" />
    </rule>
  </outboundRules>
</rewrite>