nginx+tomcat遇到的https重定向到http问题

nginx做反向代理时,需要把请求头信息一起发送给tomcat,不然tomcat中的域名绑定就无法发挥作用了。

今天又遇到https请求被拦截器重定向到登陆页居然变成http的问题,导致小程序无法访问(汗。。。)

之前讲过nginx做反向代理时要把请求头一起发给tomcat(https://www.cnblogs.com/yanglei-xyz/p/10771846.html

#nginx的反向代理配置
location / {   proxy_pass http://192.168.0.3:8080;   proxy_set_header Host $http_host;   proxy_set_header X-Real-IP $remote_addr;   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

所以nginx已经把请求头发送给tomcat了,问题应该是在tomcat身上,百度后:

#在server.xml的Host节点下增加
<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" protocolHeaderHttpsValue="https"/>

这个配置里面,重点是protocolHeader字段,意思就是说,当protocolHeader字段的值为protocolHeaderHttpsValue的https的时候,认为是安全连接,否则就是http的非安全连接。

参考原文:

https://www.cnblogs.com/shihuc/p/9047636.html

原文地址:https://www.cnblogs.com/yanglei-xyz/p/11022966.html