IIS 重写规则修改 X-Forwarded-For 标头中的 IP 格式

IIS 重写规则修改 X-Forwarded-For 标头中的 IP 格式

我使用 IIS 作为反向代理,我发现默认情况下,当使用内置方法让 IIS 将客户端 IP 添加到 X-Forwarded-For 标头中时,如果客户端 IP 是 IPv6,它会将 IP 括在 [ ] 中(例如,[2406:cafe:1:beef:35e1:dead:1574:face])。对于大多数我将 IIS 作为反向代理的应用程序,这很好并且不会引起问题,但 Home Assistant 不喜欢标头将 [ ] 作为 IP 的一部分,因此会失败。我希望有一种方法可以在 IIS 中操纵该标头的内容以删除包围 IP 的 [ ]。

我认为出站规则可能是可行的方法,并尝试了以下方法:

<rule name="IPv6 Remove []" enabled="true">
   <match serverVariable="HTTP_X_FORWARDED_FOR" pattern="\[(.*?)\]" />
   <action type="Rewrite" value="{R:1}" />
</rule>

但这没有任何效果。这实际上可以通过 IIS 实现吗?

相关内容