nginx+tomcat 架构 HttpServletRequest.getScheme()获取正确的协议



问题:通过浏览器输入https://www.mysite.com,后台通过request.getScheme()获取到的确实http而不是https

通过request.getRequestURL()拿到的也是http://www.mysite.com

分析原因,是因为用nginx+tomcat部署web服务,tomcat接受到的请求都是来自于nginx的http请求。

解决办法:在nginx 配置location处加上 proxy_set_header X-Forwarded-Scheme $scheme;

如:

nginx+tomcat 架构 HttpServletRequest.getScheme()获取正确的协议

最后一项!

后台通过 request.getHeader(“X-Forwarded-Scheme”) 获取真实协议scheme

Original: https://www.cnblogs.com/007sx/p/12507805.html
Author: 007少侠
Title: nginx+tomcat 架构 HttpServletRequest.getScheme()获取正确的协议

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543583/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • for、foreach、stream 哪家的效率更高,你真的用对了吗?

    昨天在《SQL中那么多函数,Java8为什么还要提供重复的Stream方法,多此一举?》一文中,有同学指出Stream在数据量不庞大的情况,效率不如for循环。 这个就触及到我的知…

    Java 2023年5月29日
    031
  • Spring Boot动态权限变更实现的整体方案

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Java 2022年11月7日
    0162
  • ENDIAN的由来及BIG-EDIAN 和LITTLE-ENDIAN(转)

    在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送…

    Java 2023年6月6日
    032
  • Springboot项目记录1配置环境

    一、电脑商城项目: 项目功能:登录,注册,热销商品,用户管理(密码,个人信息,头像,收货地址)、购物车(展示、增加、删除)、订单模块。 二、开发顺序: 注册、登录、用户管理、购物车…

    Java 2023年6月7日
    017
  • Springboot2整合ehcache缓存笔记整理

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Java 2022年9月22日
    0199
  • NoteOfMySQL-10-触发器与事件

    触发器是由事件来触发某个操作,这些事件包括insert语句、update语句、delete语句,当数据库系统执行这些事件时,就会激活触发器执行相应的操作。事件调度器(event s…

    Java 2023年6月5日
    027
  • 随手翻

    不可变对象:对象一旦被创建后,对象所有的状态及属性在其生命周期内不会发生任何变化。 存在意义:①让并发编程变得更简单(不可变对象天生线程安全)②消除副作用 ③减少容器使用过程出错的…

    Java 2023年6月9日
    019
  • 5.日期格式化

    例:”startTime”:{“date”:11,”hours”:0,”seconds&#822…

    Java 2023年6月13日
    019
  • Spring中常见的注解

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Java 2022年11月10日
    0117
  • 数据结构基础—绪论

    数据结构基础—绪论 一、什么是数据结构 数据结构是一门研究非数值计算的程序实际问题中计算机的操作对象以及它们之间关系和操作等的学科 程序设计 = 数据结构 +算法 数据结构:问题的…

    Java 2023年6月5日
    025
  • ===============Nginx笔记(全)==================

    基本概念: Nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶…

    Java 2023年6月9日
    0127
  • Linux入门操作介绍

    Linux 是由unix衍生而来(小知识:mac也是使用unix核心),由全世界的程序员一起开发的开源系统。如今基于linux已经有了很多版本,我们后面使用的就是衍生版本之一的Ub…

    Java 2023年6月14日
    025
  • 排序算法-冒泡排序

    一、基本思想 冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没…

    Java 2023年6月5日
    050
  • Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Java 2022年9月23日
    0114
  • 第一章-绪论

    1.1 数据库系统概述: 1.1.1数据库的4个基本概念 数据库的四个基本概念- 数据 – 数据库 – 数据库管理系统 – 数据库系统 数据: …

    Java 2023年6月16日
    020
  • 这个开源组织里的项目都是精品(第二弹)

    前言 之前我写过一篇文章——《这个开源组织里的项目都是精品》,里面列举了Dromara开源组织的4个java项目,每一个都轻量且实用,受到了很多小伙伴的喜爱。Dromara这个开源…

    Java 2023年6月8日
    024
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球