Reputation: 351
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.
Upvotes: 35
Views: 18193
Reputation: 3839
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.
Upvotes: 3
Reputation: 906
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
Upvotes: 9
Reputation: 863
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.
Upvotes: 75