Press "Enter" to skip to content

阿里云 CDN 加速 Gravatar 头像

目前大部分的个人博客都使用 Gravartar 头像用于评论头像,而由于 Gravatar 的服务器位于海外,经常被墙或者延迟很高。如果网站评论很多将会降低网站的加载速度。而很多站长朋友一般都会通过更换 Gravatar 的来源,但速度同样也不是很理想。

因此一般站长都会将 Gravartar 头像缓存到本地,这样可以提高 Gravartar 的加载速度,但同样也会增加服务器的负担。至于如何将 Gravartar 头像缓存到本地?大家可以参考张戈博客的这篇文章。这里就不再重复介绍。

还有一种方法就是参考明月登楼【利用七牛云存储缓存 Gravatar 头像加速 WordPress】和【解决 WordPress 的 Gavatar 头像载入延迟】两篇文章。简单来说就是将 Gravatar 头像拉取到自己的七牛云存储中,然后在调用。具体实现方法可自行查看。

如果使用上面明月登楼看见的方法,在阿里云 OSS 中,无法设置镜像源,当时还想到是否可以用代码实现将头像存储到 OSS 中,然后在套上CDN 加速。感觉很多此一举,既然七牛可以使用为什么一定要用阿里云 OSS 来实现同样的功能,且当时已经很晚了,也没再细想。过段时间后,突然灵光一现,我既然最后打算使用 CDN 加速,为何不直接使用阿里云 CDN 加速 Gravatar 头像,当时转牛角尖了,为什么一定要将 Gravatar 头像存储到阿里云 OSS 中,想到就做。

首先进入阿里云 CDN 管理面板,点击“域名管理”,然后点击“添加域名”。如下所示:

加速地址填写你想要加速的域名。源站信息中,类型选择“源站域名”,源站地址分别填写 secure.gravatar.comcn.gravatar.com,端口号选择 443,然后点击下一步。添加完成后,等几分钟系统会自动生成 cname 地址,然后将你想要加速的域名解析至该地址就行。如下图所示:

然后在“缓存设置“里,将过期时间设置为 1 天,类型选择“目录“。可根据自身情况设置。

最后在“访问控制“中设置 Refer 防盗链,根据自身情况进行设置。

然后在配置 HTTPS 证书,南方使用的是阿里云的免费的一年期证书,很多人不知道其实阿里云有一款证书是可以免费申请的。找到 SSL 证书管理,然后点击购买证书,按照步骤一步步将证书激活后,在阿里云的所有产品中是可以直接一键调用证书,不必上传。配置完成后如下图所示。

关于 CDN 的配置就基本已经完成了,其它优化,可自行设置。下面将配置 WordPress。将以下代码添加到当前主题中的  Function.php 文件中。

//阿里云CDN加速Gravatar头像 
function aliyun_avatar($avatar) {
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://avatar.nfyy.cn/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
 return $avatar;
}
add_filter('get_avatar', 'aliyun_avatar');

将上面代码的地址改成自己的加速地址。然后清除浏览器缓存,再次查看 Gravartar 头像,是不是已经变成了你自己的 CDN 地址。如果头像无法正常显示,请查看设置的 Refer 防盗链是否正确。

如何有更好的方法,欢迎交流!

发表评论

电子邮件地址不会被公开。 必填项已用*标注