https请求重定向到http的问题 (Nginx解决方式)
生产环境中,接入方式为HTTPS,F5会去HTTPS,将请求转换为HTTP,到达web层的nginx时,请求也是http。
通过负载均衡,AP处理请求后,响应返回到Nginx时,响应中携带的重定向的地址也会为http协议。当响应返回到前端浏览器,
浏览器进行重定向时,会发送http请求到F5,由于网站只支持HTTPS,所以在浏览器中会报一个错误,无法完成重定向
这时候,我们可以通过更改NGINX的配置,将AP响应的重定向协议,从http改为https,那么前端浏览器做重定向时,就会发送HTTPS的重定向请求了。
加入如下nginx配置即可:
proxy_redirect ~^http://([^:]+)(:\d+)?(.*)[ DISCUZ_CODE_5 ]nbsp; https://$1$3;
此时,如果http响应带有重定向地址,就会将http协议改为https协议