Hmac-auth Invalid signature问题

错误日志
2025/09/11 15:30:24 [warn] 19586#19586: *53275 [lua] hmac-auth.lua:430: phase_func(): client request can't be validated: Invalid signature, client: 127.0.0.1, server: _, request: "GET /v3/flint/rdata/20.181.112.10 HTTP/1.1", host: "127.0.0.1:8088"
2025/09/11 15:30:24 [warn] 19586#19586: *53275 [lua] plugin.lua:1160: run_plugin(): hmac-auth exits with http status code 401, client: 127.0.0.1, server: _, request: "GET /v3/flint/rdata/20.181.112.10 HTTP/1.1", host: "127.0.0.1:8088

现象: curl 访问返回401,鉴权失败

解决方案:在源码打印出generate_signature 签名字符串,对比自签名字符串即可定位到问题
vim /usr/local/apisix/apisix/plugins/hmac-auth.lua
local signing_sxxxtring = core.table.concat(signing_string_items, "PP") .. "PP"
core.log.warn(signing_sxxxtring)
case1: 拼接的字符串都要以\n结尾,encode_uri_params没有给空值,如果有必须带入计算,默认参与需要计算
GET\n/v3/flint/rdata/20.181.112.10\n\n5ckancjka4d\nFri, 12 Sep 2025 08:47:58 GMT\n
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容