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

如何在UI重定向时保留Kong域名,不跳转至后端服务实际域名

Kong 2.5 访问保留域名解决方案

问题根因

当前出现跳转的核心原因是上游www.example.com返回的3xx重定向响应中,Location响应头携带了上游自身的域名,浏览器收到该响应后会自动跳转到Location指向的地址,最终导致地址栏域名替换为上游服务域名。
另外你当前路由配置中的Host匹配规则为www.mykongeg.com,和你实际使用的Kong域名www.kongeg.com不一致,需要先修正该配置确保路由可以正常匹配请求。

无需修改上游服务的配置方案

只需要在Kong侧调整配置即可实现地址栏保留Kong域名:

  1. 修正路由基础配置
    将路由的Host字段改为www.kongeg.com,确保请求可以正常匹配到该路由。
  2. 配置响应转换插件替换重定向地址
    Kong 2.5内置response-transformer插件,你可以给对应路由绑定该插件,批量替换上游返回的Location响应头中的域名:
# 调用Kong Admin API添加插件示例,<route_id>替换为你实际的路由ID
curl -X POST http://<kong_admin_address>:8001/routes/<route_id>/plugins \
  --data "name=response-transformer" \
  --data "config.replace.headers=Location:/^https?:\/\/www.example.com(.*)$/https:\/\/www.kongeg.com\1/g"

上述配置的正则规则会将所有上游返回的重定向地址中的www.example.com自动替换为www.kongeg.com,浏览器收到替换后的响应后就不会跳转到上游域名。
3. 可选优化配置
如果你的React应用会根据请求Host头动态生成页面内链接,可以将路由的preserve_host参数修改为true,这样Kong转发请求给上游时会携带原始请求的Host头www.kongeg.com,上游生成的链接会直接使用Kong域名,从根源避免出现带上游域名的地址。

提示:如果你的React应用打包时硬编码了www.example.com作为静态资源前缀,还可以开启response-transformer的响应体替换功能,批量替换HTML/JS/CSS文件中的硬编码上游域名。

内容的提问来源于stack exchange,提问作者Abdul Razak AK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:36:05