从 IIS 10 中删除静态内容的服务器标头

问题描述 投票:0回答:1

如何删除由 IIS 10 上托管的 ASP.NET Web 表单应用程序作为服务器的静态内容(例如 javascript/css/images)的服务器标头?我想我已经尝试了几乎所有我发现的东西,但我仍然无法摆脱它。目前,我有:

  1. removeServerHeader="true" 用于请求过滤:

<security><requestFiltering removeServerHeader="true">...

  1. 为所有请求启用托管模块:

<modules runAllManagedModulesForAllRequests="true">...

  1. 删除了自定义标题中的标题:

<httpProtocol> <customHeaders>      <remove name="Server"/>

  1. URL重写规则:

     <outboundRules rewriteBeforeCache="true">
         <rule name="Remove RESPONSE_Server" >
             <match serverVariable="RESPONSE_Server" pattern=".+" />
             <action type="Rewrite" value="" />
         </rule>
     </outboundRules>
    
  2. 甚至启用了标头模块的 Apache 2.4 反向代理:

LoadModule headers_module modules/mod_headers.so

...

<IfModule headers_module>
    RequestHeader unset Server
</IfModule>```


> And I still get Server: Microsoft-IIS/10.0 added to static file
> responses. Please let me know what I am missing here or if there is
> anything else I can do to get rid of this header.
apache iis url-rewriting http-headers iis-10
1个回答
0
投票

据我所知,Url Rewrite 不会删除服务器变量,只是将其留空。

在大多数情况下,我们可以通过IIS中的removeServerHeader属性删除服务器标头。这里我发现你在web.config中编辑了以下属性:

<system.webServer>
<security>
  <requestFiltering removeServerHeader="true">
    <!-- other request filtering stuff -->
  </requestFiltering>
</security>
</system.webServer>

这是为了删除站点级别的服务器标头。

我建议您也在服务器级别执行以下操作。

  1. 打开 IIS 并双击配置编辑器 enter image description here

  2. 将以下内容粘贴到下拉列表中:system.webServer/security/requestFiltering enter image description here

  3. removeServerHeader
    设置为
    True
    enter image description here

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.