本来很早之前就应该记录的了,须知 SFTPGo 默认 S3 的配置是虚拟主机的 URL 风格的。因为这个问题,在我刚开始的使用中发现,出现连接不上对应对象存储的问题,遂通过日志才找到错误的原因。
主要原因就是这家的对象存储是基于 Ceph 的,与 AWS S3 API 不完全兼容。最直观的体验就是其 URL 风格就是[路径]而不是[虚拟主机]的形式。当时一开始没有找对相关配置选项,一度想着暂时放弃改用本地磁盘空间,或者是再搞个中间层将虚拟主机风格转换成路径风格,最后觉得这样治标不治本就进一步研究。
终于成功配置连接上 Contabo 家的 S3兼容 API 的 Object Storage ,同理类似于[路径]风格的配置方式也差不多,诸如minio
等 S3 兼容的存储后端。
作为曾经被其不会自动缩容“坑”了几个月的存储费用的我表示:“关于这家对象存储想说的是:‘
- 计费颗粒度是250GB,每次购买的空间大小最小为:250GB。
- 入站出站流量不计费,这也是我还继续使用的一个因素。
- 不会自动缩容,当使用量减少时没有自动以250GB的阶梯减少,当时我使用时会一直按最大使用量计费,后面几个月后发觉了才邮件缩容的,就是不知道现在会不会自动缩容。
- 公开访问的链接HASH不太安全的感觉,当时我使用时每个公开对外链接的前缀一成不变,容易通过猜测文件路径与文件名访问到,且当时找不到修改链接HASH的地方。
’基于这些原因且没有推广费我就只是因为我要使用就水一篇这篇文章罢了。”
我就以刚出时就购买了的欧盟区域的对象存储作为演示,以供自己/他人参考:
Storage
:下拉选择S3 (Compatible)
。
Bucket
:按实际Bucket填写。
Region
:我是欧盟区域的对象存储就填写EU
,其他区域则填写对应区域的。
Access Key
:按实际Access Key填写。
Access Secret
:按实际Access Secret填写。
Endpoint
:我是欧盟区域的对象存储就填写https://eu2.contabostorage.com/
,其他区域则填写对应区域的地址。
最主要的一步来了,就是要勾选Use path-style addressing, i.e. "endpoint/BUCKET/KEY"
选项,勾选这个就是[路径]风格,不勾选就是[虚拟主机]风格。
ChiuYut
2025年08月05日