我有一个名为Home的asp.net网站在IIS中运行,并且添加了重写URL规则以将响应标头中的服务器标签更改为Mine。它仅适用于某些响应,而不适用于所有响应。
例如: https://myDomain/Home/Default.aspx有效。 (服务器:我的) 但是https://myDomain/Home/不起作用(服务器:Microsoft ...)
可以在C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config中找到的规则代码如下:
<rewrite>
<allowedServerVariables>
<add name="RESPONSE_SERVER" />
</allowedServerVariables>
<globalRules>
<rule name="Remove Server">
<match url=".*" />
<serverVariables>
<set name="RESPONSE_SERVER" value="Mine" />
</serverVariables>
<action type="None" />
<conditions>
</conditions>
</rule>
</globalRules>
</rewrite>
出于安全原因,我正在删除服务器版本,但是,如果该服务器版本不适用于所有响应,则会定义要点。
答案 0 :(得分:2)
据我所知,是否要修改响应头的值。我建议您可以尝试使用url重写出站规则而不是普通规则。
请在application.host文件中添加以下规则:
<rewrite>
<allowedServerVariables>
<add name="RESPONSE_SERVER" />
</allowedServerVariables>
<outboundRules>
<rule name="ModifyServer">
<match serverVariable="RESPONSE_SERVER" pattern=".*" />
<action type="Rewrite" value="Mine" />
</rule>
</outboundRules>
</rewrite>