反向代理后 location 被替换成本机域名。

反向代理后 location 被替换成本机域名。

和上次写博客系统遇到的问题一样。
反向代理后,系统header中的location参数 域名自动被替换成本机域名了,本地测试没有问题,服务器反向代理就有问题了。

百般查找 找到一个解决方案。在IIS中找 唯一一个没有被翻译的菜单
Application Request Routing Cache
点进去右边
Server Proxy Settings
然后取消勾选
Reverse rewrite host in response headers
上述问题就会解决,当时新的问题又来了。

在以上操作后,外站301、302到本站的地址 又会被替换成方向代理的本地地址。
例如 我在拉去第三方登录授权时,回调地址写的时我的域名。但是被 302 成了 127.0.0.1:8080 的本地地址。
最终解决方案:
还是勾选了 Reverse rewrite host in response headers
在跳转外站时,使用js跳转来替代header。以保证外站跳转到本站没问题。
很头大。

博客同步更新:地址

原文地址:https://www.cnblogs.com/nanshaobit/p/12464628.html