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

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

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

共收到 1 条回复

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

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