【问题】代理转发到后端使用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。

相关推荐
步行cgn6 小时前
Spring MVC 执行流程详解:一次请求的完整旅程
java·spring·mvc
增量星球6 小时前
Spring AI 2.0 Tool Calling 到底怎么跑起来的:从 @Tool 到两次模型调用
java·agent·springai·ai coding
步行cgn6 小时前
Spring MVC 九大核心角色详解:请求处理链路中的每一个关键组件
java·spring·mvc
智恒百亿6 小时前
一台 5090 八卡服务器怎么分给一个团队用?多模型多任务的显存分配实战
java·大数据·人工智能
瑞码空间6 小时前
面向接口编程与开闭原则在模拟 JDBC 驱动中的应用
java·jdbc
Félix2517 小时前
Nacos学习笔记(SpringBoot/SpringCloud)
java·spring boot·spring
文丑颜不良啊7 小时前
LeetCode1581~1600题目解析
java·leetcode
香蕉大香蕉(06敬畏市场)7 小时前
MySQL 单点详解(06)
java·数据库·mysql·博客·实习
lqbzlll7 小时前
Spring Boot 开启虚拟线程后接口反而变慢了?4 个排查方向和对应修法
java·spring boot·后端
七夜zippoe7 小时前
LangChain4j vs Spring AI:Java AI 框架怎么选(对比表)
java·人工智能·spring·ai·langchain4j