使用Nginx代理https到Tomcat,后端request.getRequestURL()获取不到https开头的链接
在网站改为https后,后台tomcat实际访问的地址为http,在某些场景下会有问题。解决方法如下:1.nginx的location块中增加配置内容如下:proxy_set_headerX-Forwarded-Proto$scheme;2. 修改Tomcat server.xml配置在Tomcat server.xml 的 Engine 模块下配置一个 Valve:<ValveclassN
·
在网站改为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"/>
更多推荐
所有评论(0)