在网站改为https后,后台tomcat实际访问的地址为http,在某些场景下会有问题。
解决方法如下:
1.nginx的location块中增加配置
内容如下:
proxy_set_header X-Forwarded-Proto $scheme;
2. 修改Tomcat server.xml配置
在Tomcat server.xml 的 Engine 模块下配置一个 Valve:
<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" protocolHeaderHttpsValue="https"/>
然后重启Tomcat即可。
或者将Connector改为如下(新增scheme="https" proxyPort="443"):
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" scheme="https" proxyPort="443"/>