nginx作反向代理時,須要把請求頭信息一塊兒發送給tomcat,否則tomcat中的域名綁定就沒法發揮做用了。html
今天又遇到https請求被攔截器重定向到登錄頁竟然變成http的問題,致使小程序沒法訪問(汗。。。)nginx
以前講過nginx作反向代理時要把請求頭一塊兒發給tomcat(http://www.javashuo.com/article/p-tvotyyvp-eq.html)apache
#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的非安全鏈接。tomcat
參考原文:安全