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

如何在HAProxy中移除/api/路径且不转义路径参数?

解决方案

使用HAProxy的url_raw提取器替代url,保留原始URL编码状态,修改后的规则如下:

http-request set-uri %[url_raw,regsub(^/api/,/,)]

原理说明

  • 原规则中的url提取器会自动解码URL中的转义字符(比如将%2F还原为/),导致RestEasy接口的路径参数被拆分为多个路径段,触发NotFoundException。
  • url_raw提取器获取的是客户端发送的原始未解码URL字符串,替换/api/前缀时不会改变后续路径参数的编码状态,因此RestEasy能正确识别{path}参数对应的完整编码值(如%2Fuser%2Foptions),匹配接口路由。

验证效果

修改规则后,HAProxy转发的请求路径将保持与本地环境一致:GET loadPageData/%2Fuser%2Foptions,接口会返回正常的200响应。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:42:33