Wiremock独立版代理映射:Authorization header无法转发求助
核心原因与解决方案
Wiremock独立版默认会自动转发所有请求头(包括Authorization),你无需通过additionalProxyRequestHeaders手动配置,反而额外配置可能因模板语法或优先级问题导致转发失败。
方案1:最简有效配置
直接移除additionalProxyRequestHeaders部分,依赖Wiremock默认转发机制:
{ "priority": 10, "request": { "method": "GET", "urlPattern": "/path/.*" }, "response": { "proxyBaseUrl": "https://myBaseUrl.com" } }
方案2:若需自定义头模板(仅必要时使用)
如果你确实需要通过模板处理请求头(比如修改令牌格式),需调整模板语法并确保transformer正确启用:
- 修正模板语法:部分Wiremock版本中
request.headers.Authorization返回字符串而非数组,去掉[0]:
{ "priority": 10, "request": { "method": "GET", "urlPattern": "/path/.*" }, "response": { "proxyBaseUrl": "https://myBaseUrl.com", "additionalProxyRequestHeaders": { "Authorization": "{{request.headers.Authorization}}" }, "transformers": ["response-template"] } }
- 确保启动Wiremock时启用
response-template扩展,启动命令示例:
java -jar wiremock-jre8-standalone-<版本号>.jar --extensions response-template
额外排查点
- 检查Wiremock版本:旧版可能存在模板语法兼容性问题,建议使用2.30.0及以上版本
- 确认未配置请求头过滤规则:若全局配置了
proxyRequestHeadersBlacklist,需确保Authorization不在黑名单内
内容的提问来源于stack exchange,提问作者ddfra
相关产品推荐
相关产品推荐

