IIS reverse proxy with rewrites can't handle a

2020-02-21 05:29发布

We own server A, and on some occasions we rewrite requests to our partner on server B.

In some cases server B will respond with a redirect to a completely different website, which is what is expected, let's say server C. However, when that redirect form server B comes back to server A, server A interprets it as a redirect to a location on iteself (A) and not as a redirect to other website - server C.

How do I take note of the redirect to the external website and actually go there, rather than assuming that redirect is on my server (and 404ing)? We're running IIS 7 with the rewrite module.

Any help much appreciated.

3条回答
相关推荐>>
2楼-- · 2020-02-21 06:22

If you can't change this in the GUI, you can set the config via command line.

Something like this should work:

appcmd.exe set config -section:system.webServer/proxy /reverseRewriteHostInResponseHeaders:"False" -commit:apphost
查看更多
聊天终结者
3楼-- · 2020-02-21 06:23

The "Reverse rewrite host in response headers" checkbox was in a different place for me. I'm using Windows Server 2012 R2.

It was under Connections -> Server Farms -> -> Proxy, just below the time-out settings.

In my case, checking this resolved my issues.

查看更多
Viruses.
4楼-- · 2020-02-21 06:36

Go to the ARR proxy settings (they're hidden under IIS -> Application Request Routing Cache -> Server Proxy Settings) and uncheck the "Reverse rewrite host in response headers" checkbox. That should be enough.

查看更多
登录 后发表回答