Gravatar头像服务器镜像站搭建

前言

Gravatar是Globally Recognized Avatar的缩写,是gravatar推出的一项服务,意为“全球通用头像”。如果在Gravatar的服务器上放置了你自己的头像,那么在任何支持Gravatar的blog或者留言本上留言时,只要提供你与这个头像关联的email地址,就能够显示出你的Gravatar头像来。WordPress的头像默认使用的就是Gravatar服务,但是其地址在国内访问比较慢或者干脆无法访问,由此就出现了很多Gravatar镜像站。但这些镜像站由于使用的人太多,时不时的就会出现无法访问甚至跑路的情况。所以干脆就自己搭建一个镜像站。

思路

利用华为云OBS(对象存储)的数据回源功能,将Gravatar源站的图片缓存到OBS当中,然后给OBS绑定自定义域名,在WordPress中将头像服务器的地址修改为自定义的域名就可以了。

操作

步骤一:注册或登录华为云

1.1 注册或者登录华为云平台,进入到控制台。

image-20230207175926170

步骤二:创建委托账号

2.1 在控制台左侧服务列表中,搜索IAM,进入到“统一身份认证服务 IAM”。

image-20230207180441511

2.2 点击“委托”-->“创建委托”。

image-20230207181212050

2.3 按照下图所示,填写以下内容,然后点击“下一步”。

image-20230207181517137

2.4 选择策略,按照下图所示选择,然后点击“下一步”。

image-20230207181640953

2.5 在“设置最小授权范围”保持默认,然后点击“确定”。

image-20230207181810691

2.6 在弹出的窗口中点击“知道了”。

image-20230207182001995

2.7 点击“完成”完成委托账号的创建。

image-20230207182053785

步骤三:创建OBS桶

3.1 回到控制台,在控制台左侧服务列表中,搜索OBS,进入到“对象存储服务 OBS”。

image-20230207182213615

3.2 在对象存储服务控制台,点击“创建桶”。

image-20230207182400673

3.3 按照下图填写相关信息,然后点击“立即创建”。
这里为什么不能选择中国大陆区域?
答:其实可以选择中国大陆的区域,但是Gravatar源站在境外,国内访问可能会由于防火墙等原因导致无法访问,所以这里选择非中国大陆地区比较稳妥。

image-20230207182654391

image-20230207182811342

3.4 在弹出的窗口中点击“确定”。

image-20230207183101803

3.5 完成OBS桶的创建。

image-20230207183315278

步骤四:数据回源配置

4.1 点击桶名称,进入到OBS桶的配置。

image-20230207183715152

4.2 点击“数据回源”然后再点击“创建”。

image-20230207183813748

4.3 创建数据回源规则,按照图片填写相关内容,其他的保持为空或者默认,然后点击“确定”。
# 源站地址
http://secure.gravatar.com/

image-20230207184024567

image-20230207184151427

4.4 数据回源配置完成。

image-20230207184331796

步骤五:配置生命周期规则

OBS中只要存在数据就不会回源,但是用户可能会不定期的更新头像,因此需要让缓存到OBS中的数据定期删除,通过OBS的生命周期规则即可实现。

5.1 点击“基础配置”-->“生命周期规则”,然后点击创建。

image-20230207184921876

5.2 创建生命周期规则,按照下图填写。

对象过期删除天数填写为1天,代表每过一天就删除之前一天的数据,可以根据需求自行决定填写数字,然后点击“确定”。

image-20230207185244657

5.3 完成生命周期规则创建。

image-20230207185442354

步骤六:绑定自定义域名

6.1 点击“域名管理”-->“配置自动逸域名”。

image-20230207185628456

6.2 输入自己的二级域名,然后点击“确定”。

image-20230207185924903

6.3 复制CNAME名称,然后到域名解析商处完成域名解析,解析完成后点击“我已了解”。

image-20230207190046169

步骤七:配置防盗链

通过防盗链可以禁止其他网站盗用链接,避免增加OBS使用成本,如果公开给其他人使用,可以选择不设置防盗链。

7.1 点击“访问权限控制”-->“防盗链”。

在白名单Referer,处填写自己网站的域名,可以防止其他人使用,也可以在黑名单Referer处填写,禁止特定某些网站访问。

image-20230207190438878

测试

在浏览器访问以下域名,确认是否能够看到头像,将gravatar.rsecc.cn替换为自己的域名。我这里设置了防盗链,直接访问会提示无权限。

https://gravatar.rsecc.cn/avatar/f5b9192fe1145f84491f0de8a54d716e?s=32&d=mm&r=g

image-20230207190841825

在对象存储控制台,点击”对象“,可以看到新增了一个目录avatar

image-20230207190956877

点击进入avatar目录中,可以看到一个文件,即代表Gravatar头像服务器镜像站创建完成。

image-20230207191136587

后续

CDN加速

因为创建的OBS桶区域为香港,国内使用效果可能会不佳,因此可以再使用CDN对其进行加速。

HTTPS证书绑定

OBS和CDN都可以绑定证书,使用了CDN加速的在CDN侧配置就可以了,没有绑定CDN的直接在OBS域名管理处上传证书。

WordPress替换头像服务器地址

  1. 直接修改主题的functions.php配置文件中的Gravatar头像服务器地址为gravatar.rsecc.cn。不同主题修改方式不同,这里不做详细说明。
  2. 安装WPOPT插件,在插件的配置中的“优化加速”-->“自定义”中填写,自定义头像地址。

image-20230207191904593

  1. 也可一使用其他的插件或者其他的方法完成修改,此处不作详细说明

其他云平台

阿里云的OSS(对象存储)也具有相同的功能,具体操作可以参考阿里云的产品文档。

其他云没有尝试过,可以自行查看相关的产品文档看看。


THE END