RESPONSE_SERVER 重写规则不适用于所有响应 headers
RESPONSE_SERVER rewrite rule not working for all response headers
我在 IIS 中有一个名为主页 运行 的 asp.net 网站,我添加了重写 URL 规则以将响应 header 中的服务器标记更改为我的。它仅适用于某些响应,而不适用于所有响应。
例如:
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>
出于安全原因,我删除了服务器版本,但如果它不适用于所有响应,它定义了要点。
据我所知,如果你想修改响应头的值。我建议你可以尝试使用 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>
我在 IIS 中有一个名为主页 运行 的 asp.net 网站,我添加了重写 URL 规则以将响应 header 中的服务器标记更改为我的。它仅适用于某些响应,而不适用于所有响应。
例如: 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>
出于安全原因,我删除了服务器版本,但如果它不适用于所有响应,它定义了要点。
据我所知,如果你想修改响应头的值。我建议你可以尝试使用 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>