如何使用 IIS 反向代理设置 HTTP 标头“X-Forwarded-Context”或“X-Forwarded-Prefix”

如何使用 IIS 反向代理设置 HTTP 标头“X-Forwarded-Context”或“X-Forwarded-Prefix”

我尝试在 IIS 中配置反向代理。这需要设置一些 HTTP 标头。我能够添加以下 HTTP 标头:

  • X-转发-Proto
  • X-转发端口
  • X-转发主机

这可以通过添加和设置具有相关名称的服务器变量来实现。webconfig 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="^foobar(.*)" />
                    <action type="Rewrite" url="http://localhost:9999/{R:1}" />
                    <serverVariables>
                        <set name="HTTP_X_FORWARDED_PORT" value="80" />
                        <set name="HTTP_X_FORWARDED_HOST" value="localhost" />
                        <set name="HTTP_X_FORWARDED_PROTO" value="http" />
                        <set name="HTTP_X_FORWARDED_PREFIX" value="/foobar" />
                        <set name="HTTP_X_FORWARDED_CONTEXT" value="/foobar" />
                    </serverVariables>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

但我对 HTTP 标头 X-Forwarded-Context 或 X-Forwarded-Prefix 不太满意。此外,添加服务器变量也不起作用。

相关内容