Skip to content

v1.6.4 - 媒体代理支持 S3 SigV4 签名凭证

Choose a tag to compare

@tsdaer tsdaer released this 21 Sep 13:31
· 9 commits to master since this release

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 里,请授予只读权限并定期轮换。