问题描述
我在使用 S3 对象存储插件接入中国科技云数据胶囊(CSTCloud Data Capsule)的 S3 兼容接口时,存储策略验证失败,返回 401 Unauthorized。
该服务的 S3 客户端访问页面显示:
- Endpoint:
s3.cstcloud.cn
- Bucket: 已确认正确
- 签名版本:
v4
- 客户端需要使用 Path Style
- AccessKey 会绑定到具体应用类型,例如 S3Drive、S3Browser、Rclone、Obsidian、Cherry Studio
当前环境
- Halo: 2.23.2
- S3 插件: 1.14.0
- 对象存储服务: 中国科技云数据胶囊 / CSTCloud Data Capsule
- Endpoint:
s3.cstcloud.cn
- Endpoint 访问风格:
Path Style
- Region: 试过留空,也试过
us-east-1
- 权限: 完全控制
- AccessKey 类型: 试过 S3Browser 和 Rclone
实际结果
使用 Path Style ,请求可以到达对象存储服务,但验证接口返回:
The object storage service returned an error status code 401.
Please check the storage policy configuration and make sure your account and service are working properly.
更换为 Rclone 类型的 AccessKey 后仍然返回 401。
期望结果
希望确认当前插件在该场景下是否始终使用 S3 Signature V4。
另外,CSTCloud 数据胶囊的 AccessKey 会绑定应用类型,可能会校验客户端 User-Agent。当前插件的策略配置表单中没有自定义 User-Agent 字段,因此无法配置类似:
rclone/v1.67.0
rclone/v1.68.0
希望插件可以支持一个可选配置项,例如:
当字段为空时保持现有行为;当字段有值时,在 S3 Client 请求中使用自定义 User-Agent,以兼容这类按客户端应用类型限制访问的 S3 兼容服务。
相关信息
我看到 issue #213 中也有人提到 S3 Signature V4 相关兼容问题:
不过我当前遇到的是 CSTCloud 返回 401,而不是 RustFS 返回 400,所以不确定是否是同一类问题。
问题描述
我在使用 S3 对象存储插件接入中国科技云数据胶囊(CSTCloud Data Capsule)的 S3 兼容接口时,存储策略验证失败,返回 401 Unauthorized。
该服务的 S3 客户端访问页面显示:
s3.cstcloud.cnv4当前环境
s3.cstcloud.cnPath Styleus-east-1实际结果
使用
Path Style,请求可以到达对象存储服务,但验证接口返回:更换为 Rclone 类型的 AccessKey 后仍然返回 401。
期望结果
希望确认当前插件在该场景下是否始终使用 S3 Signature V4。
另外,CSTCloud 数据胶囊的 AccessKey 会绑定应用类型,可能会校验客户端 User-Agent。当前插件的策略配置表单中没有自定义 User-Agent 字段,因此无法配置类似:
希望插件可以支持一个可选配置项,例如:
当字段为空时保持现有行为;当字段有值时,在 S3 Client 请求中使用自定义 User-Agent,以兼容这类按客户端应用类型限制访问的 S3 兼容服务。
相关信息
我看到 issue #213 中也有人提到 S3 Signature V4 相关兼容问题:
不过我当前遇到的是 CSTCloud 返回 401,而不是 RustFS 返回 400,所以不确定是否是同一类问题。