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的非安全連接。
參考原文: