我们的反向代理看起来像:
<rule name="ReverseProxy to service" stopProcessing="true">
<match url="^service" />
<action type="Rewrite" logRewrittenUrl="true" url="https://myco.com/{R:0}" />
</rule>
此反向代理指向创建SSO并将访问者重定向到外部站点的服务。我们可以使用以下解决方案来解决重定向问题:IIS reverse proxy interfering with redirect location header。
但是,当我们禁用“在响应头中反向重写主机”选项时,我们将面临另一个错误。任何内部重定向都设置为public,尽管应该通过代理传递。它还会影响会话/ cookie的处理,因为无法清除会话/ cookie,因此无法注销。
我也尝试过以下解决方案:IIS AAR - URL Rewrite for reverse proxy - how to send HTTP_HOST
但是启用了keepHostHeader后,所有反向代理都将返回错误请求。
如何保持启用“在响应标头中反向重写主机”选项,并且仍然保持重定向到外部站点的工作?