s3配置域名访问和静态网站

#环境配置

ceph以及对象存储的配置--略。

#配置使用域名访问对象存储

#配置DNS服务

按照目前的方案,使用的是named服务作为DNS服务。客户端使用该DNS。

选择一个域名作为对象存储的访问域名。此处选择infizy944.com作为主域名。

使用泛域名配置A记录作为,www作为了管理界面的访问域名。其他*作为桶的子域名。

image-20201211095440873

这一步完成的时候其实已经可以使用域名访问了,但只是简单的把ip访问替换成了域名访问,访问的API形式还是和之前一致。

#ceph配置域名

为了实现bucket.domain的形式访问对象存储,需要修改ceph的rgw_dns_name,让ceph自己来实现子域名到桶的重定向。修改所有节点的配置文件后,重启rgw服务。

image-20201211102836735

#检查使用域名访问

配置好域名访问桶后,只用bucket.domain可以罗列桶内对象(前提acl已支持public-read),对比与未配置域名访问对象存储前,同样的域名其实是罗列桶。这里逻辑已经不一样了。

配置了域名访问对象存储:

配置了对象存储域名访问

未配置域名访问对象存储:

未配置域名访问对象存储

#配置静态网站

#修改ceph配置文件

修改ceph配置,开启staticwebsite支持,同时配备域名。

配置的rgw_dns_s3website_name需要和s3的域名完全不同。

image-20201211112858883

#配置静态网站域

由于静态网站的域名需要和S3的不一样,所以在named我们新建一套域作为静态网站的使用,也是做泛域名A解析。(可自己改cname解析,此处不处理。)

image-20201211113138197

#设置桶开启website

配置静态网站的主要操作就是知道默认的访问页和错误页,错误页非必须。

#使用s3cmd开启

s3cmd ws-info s3://www --ws-index=default.html --ws-error=error.html

#使用S3browser开启

image-20201211113804931

image-20201211113815541

#访问静态网站

开启后的桶上传一个静态网站,使用bucket.websitename就可以打开这个网站了。

这里因为修改了默认页为一个js文件,访问正常。

image-20201211115332055

updatedupdated2021-09-132021-09-13