自己有Minio搭建的云存储,发现宝塔的云存储只支持Amazon的S3,稍微改造一下也支持S3兼容协议。
方法如下:
修改:
/www/server/panel/plugin/aws_s3/s3lib/client/aws_s3.py
中 97 行位置的 build_auth()
添加
endpoint_url="https://s3.domain.com",
加完后如下
def build_auth(self):
config = client(
's3',
endpoint_url="https://s3.domain.com",
aws_access_key_id=self.__secret_id,
aws_secret_access_key=self.__secret_key,
)
s3.domain.com 可以是任意 Endpoint
如果在插件中填写的 key 只有写入权限,那么 save 后可能出现报错,请设置任务后立即运行进行测试,如果储存桶确实有正确的文件,那么请忽略,为了安全建议不要添加其他权限