FIT2CLOUD
文档 的图标

文档

2,089
795

一个为Halo提供文档 / 知识库能力的插件。 my-docs在 Halo 原有文章与页面模型之外,补充一套独立的文档系统,用来承载产品手册、开发文档、帮助中心这类需要树形目录和连续阅读体验的内容。

1.6.4
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