nginx 转发https到http request.getContextPath()获取到http 而不是https的问题解决

原文链接: https://blog.csdn.net/love_zhang_xin/article/details/89948070

nginx 配置https转发http请求 ,而在jsp页面获取request.getContextPath()时,获取到的是http而不是https,无需修改程序,只需要配置nginx与Tomcat即可

nginx.conf文件修改:proxy_set_header X-Forwarded-Proto  $scheme;这一句是关键

 

nginx 转发https到http request.getContextPath()获取到http 而不是https的问题解决_第1张图片

 

Tomcat,server.xml修改:

nginx 转发https到http request.getContextPath()获取到http 而不是https的问题解决_第2张图片

 

              remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" protocolHeaderHttpsValue="https"/>

在Tomcat中添加valve的配置

   
                    connectionTimeout="20000"
               redirectPort="8443" />
  
    


    

    
                     remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" protocolHeaderHttpsValue="https"/>
    
      
      
               resourceName="UserDatabase"/>
      

                   unpackWARs="true" autoDeploy="true">

       
                        prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      
    
  


————————————————
版权声明:本文为CSDN博主「缒忆往昔丶峥嵘岁月」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/love_zhang_xin/article/details/89948070

你可能感兴趣的:(架构)