header_rewrite: rm-destination after set-destination URL crashes traffic_server
维护者通常 2 天内回复
@moonchen 已经在做这个了。
开始于 2026年10月5日。
评估
这个 Issue 还没有评估数据。
描述
In a remap rule, rm-destination crashes traffic_server if set-destination URL ran earlier for the same request.
The two operators don't have to be in the same rule. For example, a conditional set-destination URL that routes canary traffic, plus a separate rule that strips a tracking parameter from every request:
remap.config:
map http://www.example.com/ http://127.0.0.1:8081/ @plugin=header_rewrite.so @pparam=rules.conf
rules.conf:
cond %{CLIENT-HEADER:X-Canary} ="1"
set-destination URL "http://127.0.0.1:8081/canary/?%{CLIENT-URL:QUERY}"
cond %{TRUE}
rm-destination QUERY "utm_source"
Requests without X-Canary are proxied normally. This one crashes traffic_server:
curl -x http://127.0.0.1:8080 -H 'X-Canary: 1' 'http://www.example.com/?utm_source=x&a=1'
Fatal: src/api/InkAPI.cc:1077: failed assertion `sdk_sanity_check_url_handle(obj) == TS_SUCCESS`
set-destination URL replaces the request's URL object with TSHttpHdrUrlSet(). rm-destination still uses _rri->requestUrl, which points at the old, deallocated object. #12278 fixed the same problem for set-destination by checking res.changed_url and re-reading the URL from the header; rm-destination needs the same check.
- 主要语言
- C++
- 星标
- 2k
- 派生
- 878
- 平均合并
- 3 天 16 小时
- 30 天内合并 PR
- 95
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/trafficserver 的其他 Issue
-
Bug HTTP Support
难度 2/5 1-3 小时 新手友好度 74/100
apache/trafficserver#13118 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
apache/trafficserver#13798 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
apache/trafficserver#13784 ·
维护者通常 2 天内回复
-
Plugins
难度 5/5 一周以上 新手友好度 35/100
apache/trafficserver#13774 ·
维护者通常 2 天内回复
-
New Feature
难度 5/5 一周以上 新手友好度 25/100
apache/trafficserver#13773 ·
维护者通常 2 天内回复
查看 apache/trafficserver 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 1/5 1 小时以内 新手友好度 76/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 65/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 77/100
ros-navigation/navigation2#6648 · 1 条评论 ·
维护者通常 1 天内回复