【问题】代理转发到后端使用request.getRequestURL()地址没有端口

访问链路:https://域名/chatbi/》http://域名:30083/chatbi》实际springboot服务 springboot服务中使用HttpServletRequest request.getRequestURL() 获取的地址是http://域名/chatbi。既不是原来https的url也不是http携带30083的url

原因

访问springboot服务端的代理服务器中配置的是

bash 复制代码
proxy_set_header Host $host;

此时springboot接收到的host 前端浏览器的域名。

这行配置注释掉后,springboot接收到的host就是转发的ip:port,此时getRequestURL就有了代理服务器实际转发的ip和地址。

解决

request.getRequestURL() 跟HOST请求头有直接关系,如果注释掉配置:proxy_set_header Host $host;,代理就会默认传参自己的host。

相关推荐
霸道流氓气质1 小时前
HashiCorp Vault 与云 KMS 入门实战:动态密钥、SecretLeaseContainer 与 Java 集成完整指南
java·开发语言
wuminyu1 小时前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
xuxigifxfh1 小时前
牛客:HJ21 简单密码
java·开发语言·算法
小π军1 小时前
C 和 C++ 是否都支持函数的重载?
java·c语言·c++
sp42a1 小时前
简单的 Spring 文件上传与下载组件
java·后端·spring
步行cgn1 小时前
为什么 Spring 建议使用构造器注入?
java·后端·spring
Nefu_lyh1 小时前
【工作杂谈_20261012】数据平台与工程治理: Spark OOM 排查:Java Heap、Executor 与代码内存模型
java·大数据·spark
小蒜学长1 小时前
基于Vue.js + Spring Boot的酒店客房预订系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·酒店客房预订系统
真恋寄语枫秋1 小时前
【Java零基础入门28】Java包机制详解:package包定义、import导入、权限访问、项目分层管理
java