You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Spring WebFlux端点重定向至外部网站(去除localhost前缀)

解决Spring WebFlux重定向到外部URL时带localhost的问题

问题出在你使用的是相对URI而非绝对URI:当你传入www.google.com时,URI.create()会将其解析为相对路径,Spring WebFlux会自动拼接当前服务的主机和端口,最终生成localhost:8080/www.google.com这样的重定向地址。

要直接重定向到https://www.google.com,只需在地址前加上完整的协议前缀,使用绝对URI即可:

ServerHttpResponse response;
String google = "https://www.google.com";
response.setStatusCode(HttpStatus.TEMPORARY_REDIRECT);
response.getHeaders().setLocation(URI.create(google));
return response.setComplete();

如果需要动态构建外部地址,确保最终传入setLocation的是包含协议、主机的完整绝对URI,就能避免被拼接本地服务地址的问题。

内容的提问来源于stack exchange,提问作者user19997211

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:31:35