Nginx Windows 版 request.getScheme () 如何获取 https

dudm6911 · 2017年09月18日 · 最后由 pengwenjie418 回复于 2018年11月05日 · 7937 次阅读

windows 下 nginx-1.12.1 实现 http 转 https。 nginx.conf

server {
       listen       80;
       server_name  *.cn;
       rewrite ^(.*)$ https://$host$1 permanent;

}
            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;
    proxy_set_header X-Forwarded-Scheme $scheme;

tomcat 的 server.xml 增加:

<Valve className="org.apache.catalina.valves.RemoteIpValve"  
                          remoteIpHeader="X-Forwarded-For"  
                          protocolHeader="X-Forwarded-Proto"  
                          protocolHeaderHttpsValue="https"/> 

jsp 中:String path = request.getContextPath(); String basePath = request.getScheme() + "://" request.getServerName() + ":" + request.getServerPort() 取到的仍然是 http,不是 https

您是如何解决的??????????????

需要 登录 后方可回复, 如果你还没有账号请 注册新账号