腾讯云下一代CDN — EdgeOne加速MinIO对象存储

省流

使用MinIO作为EdgeOne的源站。

背景介绍

项目中需要一个兼容S3协议的对象存储服务,腾讯云的COS虽然也兼容S3协议,但是也只是支持简单的上传下载,对于上传的时候同时打标签这种需求,就不兼容S3了。所以决定自建一个对象存储服务,这里选择EdgeOne为对象存储提供CDN加速服务。本文详细记录了设置过程,作为一个记录方便以后参考。

MinIO设置

MinIO侧设置比较简单,只需要一个具有桶访问权限的用户名\密码就行,可以直接使用管理员账号,但是还是建议创建专门的用户,分配相应权限。详细步骤记录如下:

创建测试桶

这里设置桶名称为“test”。

设置桶访问模式

点击桶名,进入设置界面,设置桶访问模式为“private”。(我这里的桶默认权限初始值是n/a,我不知道是不是我安装问题,我认为他应该默认就是private才对)。

创建Policy

创建一个名为test-policy的Policy,内容为:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::test/*"
            ]
        }
    ]
}

创建User

创建名为test-user的用户,设置密码,Policy选择test-policy,这样,test-user用户就具有test桶的所有权限。

EdgeOne设置

域名设置

域名设置中源站地址填写MinIO的API地址,地域在MinIO后台Settings/Region中找到,我这里设置的是"cn-north-1",Access Key ID和Secret Access Key分别是用户名\密码。

推荐配置

推荐配置中可以选择“大文件下载”。

配置CNAME

根据提示配置好域名的cname记录

等待配置生效

上传一个图片到桶跟目录,假设名称为a.png,可以使用地址 http://minio-test-cdn.trycatch.xyz/test/a.png 访问

一些细节

最后,还有一些细节需要留意下:

  1. EdgeOne默认回源规则为跟随协议,如果源站地址不支持https,想要强制使用http协议回源,可以在规则中增加如下配置。

  1. EdgeOne支持申请免费证书,在域名管理中设置即可

  1. 如果设置了https证书,可以开启强制https访问

  1. MinIO分API地址和Console地址(Web管理界面地址),目前Console地址可以套EdgeOne加速,API地址套EdgeOne地址上传下载目前没有问题,但是涉及到PUT请求会有问题,所以不建议直接套EdgeOne使用,本文介绍的通过S3协议直接回源是没有问题的。

Leave a Comment

Back to Top