当前位置: 首页 > news >正文

nginx代理出https,request.getRequestURL()得到http问题解决

问题:

Java Web 应用中 request.getRequestURL() 返回的 URL 协议是 http,但实际客户端是通过 https 访问的。

原因:

请求路径是:Client → HTTPS → Nginx (SSL Termination) → HTTP → java后端

  • Nginx 负责处理 HTTPS 解密(SSL 终止)。
  • 然后 Nginx 通过 HTTP 协议转发请求到后端 Java 应用(如 Tomcat)。
  • 后端 Java 应用看到的是 HTTP 请求,所以 request.getRequestURL() 返回 http://xxx
  • 但它不知道前端是通过 HTTPS 访问的。

解决方法:

1.Nginx 配置添加标准 Header

location /project/ {proxy_set_header Host $host:58090;proxy_set_header X-Real-IP $remote_addr;# 解决request.getRequestURL()请求地址不正确问题proxy_set_header X-Forwarded-Proto  $scheme;proxy_set_header X-Forwarded-Port $server_port;# 将客户端的来源页面信息传递给后端应用proxy_set_header Referer $http_referer;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.244.166:8086/project/;}

2.springboot项目添加以下配置

# application.yml Spring Boot 2.1 及更早版本
server:use-forward-headers: true
# Spring Boot 2.2+
server:forward-headers-strategy: native  # 依赖容器(如 Tomcat)的原生支持

http://www.xdnf.cn/news/1249201.html

相关文章:

  • imx6ull-驱动开发篇10——pinctrl 子系统
  • 福彩双色球第2025090期篮球号码分析
  • 生成式 AI 重塑自动驾驶仿真:4D 场景生成技术的突破与实践
  • Spring之【初识AOP】
  • Agent安全机制:权限控制与风险防范
  • 海康威视相机,MVS连接成功,但无图像怎么办?
  • 云计算一阶段Ⅱ——12. SELinux 加固 Linux 安全
  • 统计鱼儿分布情况 Java
  • libpq库使用
  • 二叉树算法
  • Mysql常用语句
  • Bilateral Reference for High-Resolution Dichotomous Image Segmentation
  • 智慧社区(八)——社区人脸识别出入管理系统设计与实现
  • 轻量应用服务器Centos系统上安装jdk8和Jdk17教程(详细)
  • (ZipList入门笔记二)为何ZipList可以实现内存压缩,可以详细介绍一下吗
  • 在AI时代,如何制定有效的职业规划?AI时代职业规划+AI产品经理角色
  • 探索设计模式的宝库:Java-Design-Patterns
  • FastDeploy2.0:报qwen2.embed_tokens.weight
  • 3. 为什么 0.1 + 0.2 != 0.3
  • 多传感器融合
  • Redis之Set和SortedSet类型常用命令
  • leetcode-python-删除链表的倒数第 N 个结点
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-邮箱重置密码
  • 使用ProxySql实现MySQL的读写分离
  • ubuntu24安装vulkan-sdk
  • 一文搞定JavaServerPages基础,从0开始写一个登录与人数统计页面
  • Rust进阶-part4-智能指针2
  • 力扣106:从中序与后序遍历序列构造二叉树
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-登录实现
  • Redis里面什么是sdshdr,可以详细介绍一下吗?