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)

大家都在看

  • AQS源码探究之竞争锁资源

    AQS源码探究—竞争锁资源 我们进入ReentrantLock源码中查看其内部类 Sync 对AQS进行扩展公共方法并定义抽象方法的抽象类 FaireSync 实现公平…

    Java 2023年6月16日
    060
  • Future源码一观-JUC系列

    背景介绍 在程序中,主线程启动一个子线程进行异步计算,主线程是不阻塞继续执行的,这点看起来是非常自然的,都已经选择启动子线程去异步执行了,主线程如果是阻塞的话,那还不如主线程自己去…

    Java 2023年6月13日
    062
  • Java——字节码技术

    字节码 1.1 什么是字节码? Java之所以可以”一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编…

    Java 2023年5月29日
    089
  • idea主类main左侧栏启动按钮消失原因

    我去找网上的方法发现都是去调正”项目结构”中的model设置,而我本地的model并没有问题,但是我还是删除model重加载,发现依然无效,经过我再三检测我…

    Java 2023年6月13日
    059
  • java中scanner获取char字符类型的方法

    java中基本数据类型的输⼊包括整形的输⼊: in.nextInt();单精度浮点型: in.nextFloat();双精度浮点型: in.nextDouble();字符串类型: …

    Java 2023年6月9日
    056
  • 初识Java

    C&C++ Java应运而生 以这样的构想进行编写 语法类似C 没有指针 没有内存管理 可移植性 面向对象 类型安全 高质量的类库 …… 可移植性 Java…

    Java 2023年6月9日
    083
  • 如何使用DAO层模式开发

    一、什么是DAO模式 DAO就是在数据库与业务逻辑之间,在里面将对数据库操作的代码封装起来. 简单来说,比如数据库有一张表,需要通过代码来实现对这张表的操作.这时候,就在代码那里遍…

    Java 2023年6月8日
    067
  • Docker-Java限制cpu和内存及浅析源码解决docker磁盘挂载失效问题

    之前工作流的运行都是用的docker-java提供的api拉起的docker容器直接跑服务,但是最新线上的新业务资源消耗较大,单个容器如果不加控制,CPU和内存都会拉满,导致服务器…

    Java 2023年6月7日
    060
  • 线程池如何保证核心线程一直存活

    转载请注明出处: 查看 ThreadPoolExecutor 类中的 getTask 方法,这个方法可以保持核心线程在没有任务的时候也可以一直处于存活状态 核心在于 workQue…

    Java 2023年5月30日
    0137
  • 全链路spring cloud sleuth+zipkin

    一、About ZipKin please google 二、 Demo Scene 三、 Result Display 四、Prepare 1、soft version kafk…

    Java 2023年5月30日
    094
  • 都2020了,还不好好学学泛型?

    一、概述 Java 泛型( generics)是 JDK 1.5 中引入的一个新特性, 泛型提供了 编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型,即 参…

    Java 2023年6月6日
    067
  • java logAspect

    @Around("execution(* com.iotx.cep.biz.rpc.impl.*.*(..)) " + "&& !ex…

    Java 2023年5月29日
    079
  • 面向对象ooDay7

    .精华笔记:1)成员内部类: 应用率不高1.1)类中套类,外面的称为外部类,里面的称为内部类1.2)内部类通常只服务于外部类,对外不具备可见性1.3)内部类对象通常在外部类中创建1…

    Java 2023年6月13日
    037
  • 用Java实现生成图片验证码

    通过代码实现生成一个随机验证码图片,且生成后自动打开: package day_12_17; import javax.imageio.ImageIO; import java.a…

    Java 2023年6月7日
    056
  • 灵感乍现!造了个与众不同的Dubbo注册中心扩展轮子

    hello大家好呀,我是小楼。 作为一名基础组件开发,服务好每一位业务开发同学是我们的义务(KPI)。 客服群里经常有业务开发同学丢来一段代码、一个报错,而我们,当然要微笑服务,耐…

    Java 2023年6月6日
    075
  • 2022-8-18 第六组 JDBC

    JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有…

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