在使用nginx作为https提供服务时,如将证书通过nginx进行解析,tomcat协议还是提供http时,在程序中通过request.getScheme仍为http时,需要修改nginx配置以及tomcat下server.xml可实现,具体配置如下:
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下的server.xml需要添加如下配置:
<value className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="X-Forwarded-For"
protocolHeader="X-Forwarded-Proto"
protocolHeaderHttpsValue="https"/>