用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.

解决
配置:proxy_redirect http:// $scheme://;

server {listen 80 default_server;location / {proxy_pass http://127.0.0.1:8080;proxy_redirect http:// $scheme://; #该指令会将后端响应header location内容中的http://替换成用户端协议https://。}
}

其他参考

可能是因为springmvc底层使用的是 httpservletresponse.sendredirect,并没有使用response.isSecure进,所以最后发送的请求重定向的协议是http://

nginx代理https后,spring mvc web应用redirect https变成http相关推荐

  1. 集成spring mvc_向Spring MVC Web应用程序添加社交登录:集成测试

    集成spring mvc 我已经写了关于为使用Spring Social 1.1.0的应用程序编写单元测试的挑战,并为此提供了一种解决方案 . 尽管单元测试很有价值,但它并不能真正告诉我们我们的应用程 ...

  2. 如何使用recaptcha_在Spring MVC Web应用程序中使用reCaptcha

    如何使用recaptcha CAPTCHA是一个程序,可以生成人类可以通过但计算机程序" 不能 "通过的测试并对其进行评分. 所采取的策略之一是向用户显示具有扭曲文本的图像,并且用 ...

  3. 在Spring MVC Web应用程序中添加社交登录:集成测试

    我已经写了关于为使用Spring Social 1.1.0的应用程序编写单元测试的挑战,并为此提供了一种解决方案 . 尽管单元测试很有价值,但是它并不能真正告诉我们我们的应用程序是否正常运行. 这就是 ...

  4. 在Spring MVC Web应用程序中添加社交登录:单元测试

    Spring Social 1.0具有spring-social-test模块,该模块为测试Connect实现和API绑定提供支持. 该模块已从Spring Social 1.1.0中删除,并由 Sp ...

  5. 将社交登录添加到Spring MVC Web应用程序:配置

    过去,用户使用用户名和密码组合登录. 尽管如今有些人仍然偏爱传统方式,但越来越多的用户希望使用其社交媒体帐户登录. 这就是使Spring Social(及其子项目)成为Spring项目组合有用的补充的 ...

  6. 将社交登录添加到Spring MVC Web应用程序:注册和登录

    本教程的第一部分描述了如何配置Spring Social 1.1.0和Spring Security 3.2.0,但它留下了两个非常重要的问题尚未解答. 这些问题是: 用户如何创建新用户帐户? 用户如 ...

  7. 在Spring MVC Web应用程序中使用reCaptcha

    CAPTCHA是一种程序,可以生成人类可以通过的测试并对其进行评分,而计算机程序" 不能 "通过. 所采取的策略之一是向用户显示具有扭曲文本的图像,并且用户应在输入区域中书写文本. ...

  8. spring基于注释的配置_基于注释的Spring MVC Web应用程序入门

    spring基于注释的配置 这是使Maven启动Spring 3 MVC项目的最小方法. 首先创建spring-web-annotation/pom.xml文件,并包含Spring依赖项: <? ...

  9. gradle spring_使用Gradle的简单Spring MVC Web应用程序

    gradle spring 除了我们现在将使用Spring MVC而不是原始servlet之外,该文章将与我们之前的文章Simple Gradle Web Application相似. 使用Gradl ...

最新文章

  1. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
  2. R可视化雷达图(Radar Charts)
  3. 测试驱动开发是否是一种强迫症?
  4. stm32f10x_it.c 定义的程序列表模板(stm32f103x_it.c中放的是中断的空函数)
  5. MVC 支持同名路由,不同命名空间
  6. python3 join函数_Python中.join()和os.path.join()两个函数的用法详解
  7. 程序员的进化(目前还看不懂)
  8. javascript构造函数类和原型prototype定义的属性和方法的区别
  9. pythonwebui自动化_python+selenium实现web端UI自动化测试
  10. 技术管理者必备管理模板
  11. GNU C的定义长度为0的数组
  12. docker(二)基本操作
  13. !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtm...
  14. excel转word后表格超出页面_妙招!Word和Execl“联姻”实现数据高效处理!
  15. windows环境 java jdbc 连接impala (kerberos认证)
  16. 2022CTFSHOW菜狗杯部分题目(四)
  17. springboot入门(四):ajax实现登录
  18. 精制糖行业采用树脂工艺进行脱色技术分析
  19. 3.1 CUDA执行模型概述
  20. LeetCode——1217. 玩筹码

热门文章

  1. Python 进阶 —— itertools
  2. utilities(C++)——错误提示
  3. python入门指南by许半仙-推文:拯救书荒(短篇小甜饼合集)
  4. python有趣小程序-你用python写过那些好玩的微信小程序?
  5. php和python-python与php比较
  6. 普通人学python有意义吗-自学Python编程的第一天----------来自苦逼的转行人
  7. python入门经典代码-【python】编程语言入门经典100例--12
  8. 顶尖的语音识别软件――Nuance Recognizer_语音识别_CTI论坛
  9. java后端面试经验(自用收藏)
  10. 数学速算法64种口诀_小学数学有哪些数学计算技巧?