nginx 代理https后,spring mvc web应用redirect https变成http
2016-06-17 18:11
716 查看
前几天用nginx 代理https后,应用redirect https变成http,导致网站无法访问的问题,在网上找了半天,终于找到了解决方法了。
虽然自己解决了,我相信还有其他朋友遇到过这个问题,所以转载分享一下:
原因分析:
浏览器到nginx是https,nginx到应用服务器变成http,
应用服务器,再做302 redirect的时候,返回的redirect 地址就好变成http的地址;
原因是spring mvc的servlet的secheme取值,request.getScheme()
是取请求里的一个scheme值,所有这个值在nginx代理时要设置成https
其中: request.getScheme() return http but not https.
解决方法:
改成这样
server {
listen 80 default_server;
location / {
proxy_pass http://127.0.0.1:8080; proxy_redirect http:// $scheme://;
}
}[/code]
虽然自己解决了,我相信还有其他朋友遇到过这个问题,所以转载分享一下:
原因分析:
浏览器到nginx是https,nginx到应用服务器变成http,
应用服务器,再做302 redirect的时候,返回的redirect 地址就好变成http的地址;
原因是spring mvc的servlet的secheme取值,request.getScheme()
是取请求里的一个scheme值,所有这个值在nginx代理时要设置成https
其中: request.getScheme() return http but not https.
解决方法:
改成这样
server {
listen 80 default_server;
location / {
proxy_pass http://127.0.0.1:8080; proxy_redirect http:// $scheme://;
}
}[/code]
相关文章推荐
- TCP/IP 封装-分用
- android viewPager网络加载图片无限自动轮播
- TCP/IP之封装
- ASiHTTPRequest 和AFNetworking的比教
- 检测网络状态的方式
- nginx使用ssl模块配置HTTPS支持
- android 获取网络类型的方法
- 图解HTTPS
- HTTPS是如何保证连接安全:每位Web开发者都应知道的
- System.Net.Http.Formatting的nuget版本冲突问题
- TCP/IP、Http、Socket的区别
- 认识TCP三次握手
- iOS AFN 封装POST网络请求(AFURLSessionManager) (续二) download下载方法
- XMLHttpRequest上传文件实现进度条
- ios学习--ios中的网络加密初探
- Jmeter之http测试及脚本录制
- 监听网络
- liunx第三天
- 【Android问题】解决 Android SDK下载和更新失败“Connection to https://dl-ssl.google.com refused”的问题
- 机器学习: 神经网络中的Error函数