配置 Nginx
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
配置Tomcat
在tomcat的conf/server.xml 的 Engine 模块下配置一个 Value
<Valve className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="X-Forwarded-For"protocolHeader="X-Forwarded-Proto"
protocolHeaderHttpsValue="https"/>
- 配置双方的 X-Forwarded-Proto 就是为了正确地识别实际用户发出的协议是 http 还是 https。
- X-Forwarded-For 是为了获得实际用户的 IP。
- 这样就能够完成tomcat nginx的 https配置了,前端用https,后端tomcat用http,测试OK。