tsdaer 发布于
>=2.25.0
v1.6.4:媒体代理支持 S3 SigV4 签名凭证,私有桶可用
修复
- 私有桶此前根本用不了:R2 / S3 的 API 不接受静态 Authorization 头,
GetObject 必须带按请求算出来的 SigV4 签名,靠「附加请求头」填固定值填不出来
(填 Bearer 会得到 400/403,表现为 502)。 - 新增「媒体代理签名凭证」设置项:每行「主机: 键: 值」,键取 access、secret 与可选
region,插件在每次请求时现算签名头。
新增
- AwsSigV4Signer:纯 JDK 的 AWS Signature V4 实现(HMAC-SHA256),
对照 AWS 文档 IAM 示例向量校验:签名
5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7
(期望值用一份独立实现按文档算法算出,逐字符一致)。 - 顺带修掉两处会让签名失效的问题:路径二次编码(%20 → %2520)、
参与签名的头集合与文档示例不一致。 - MediaProxySignedRequestTest:桩上游抓出真正发出去的请求头,按上游视角复算签名,
确保中间层没有改写 Authorization;凭证不会带给不在允许清单里的主机。 - 测试:Java 127 → 139。
提示
- 凭证以明文存放在站点 ConfigMap 里,请授予只读权限并定期轮换。
Generated from v1.6.4
资源下载
- plugin-my-docs-1.6.4.jar