本站使用了nginx反向代理镜像了gravatar,这篇教程有宝塔镜像Gravatar和通过cdn反向代理镜像Gravatar
Gravatar介绍
当我们在很多博客或者网站上留言评论的时候,会看到有些人的头像很酷,很个性化,但是这个博客和网站本身并没有提供设置头像的功能,感觉有点神奇。那么是怎么做到的呢?其实是用了Gravatar。
Gravatar,全称Globally Recognized Avatar。翻译成中文为全球头像。
Gravatar的概念首先是在国外的独立WordPress博客中兴起的,当你到任何一个支持Gravatar的网站留言时,这个网站都会根据你所提供的Email地址为你显示出匹配的头像。当然,这个头像,是需要你事先到Gravatar的网站注册并上传的,否则,在这个网站上,就只会显示成一个默认的头像。
Gravatar的概念最早出现在国外的独立WordPress博客中。当您在任何支持Gravatar的网站上留言时,该网站都会根据您提供的电子邮件地址为您显示出匹配的头像。当然这个前提是在Gravatar的网站上注册并且上传你的头像,否则只会显示为默认头像。
当你访问一个支持gravatar头像的网站时,只需输入你注册的邮箱账号,就会自动调用gravatar的api,转换成保存的头像。这样,就可以为大多数程序提供个人头像存储服务
Gravatar使用
使用此服务时,需要在官网注册账号,上传头像。
上传后会对头像进行审核,然后管理员会根据图片中包含的内容分为一个等级(G普通级,PG辅导级,R和X为限制等级)。
通过审核之后这个头像就可以用了。在任何支持Gravatar的地方,填写申请注册头像的邮箱地址,您的头像将出现在留言中。可以展示给任何一位访客看。
Gravatar调用
因为gravatar目前服务极不稳定,所以推荐使用国内镜像源。
换源方法:一般在模板文件的functions.php文件中,搜索gravatar,然后直接替换搜索到的域名。
国内Gravatar镜像源收集
gravatar官方的www https://www.gravatar.com/avatar/
gravatar官方的cn https://cn.gravatar.com/avatar/
gravatar官方的en https://en.gravatar.com/avatar/
gravatar官方的secure https://secure.gravatar.com/avatar/
V2EX https://cdn.v2ex.com/gravatar/
Loli https://gravatar.loli.net/avatar/
极客族 https://sdn.geekzu.org/avatar/
银狐笔记 https://gravatar.ityinhu.com/avatar/
宝塔自建Gravatar镜像源
创建一个新网站
在宝塔面板中新建一个网站,FTP、数据库都不需要,PHP选纯静态。
配置反向代理
目标URL: https://www.gravatar.com (结尾没斜线)。
发送域名:www.gravatar.com 。
内容替换:将 www.gravatar.com 替换为你自己的域名。
缓存时长:720分钟(六小时)。
如下图所示:
NGINX配置文件
设置缓存时长的建议
如果你对时效性要求高,建议选择 10分钟 、 30分钟 、 60分钟 的缓存时长。
如果你对性价比要求高,可以选择 360分钟 、 720分钟 、 1440分钟 的缓存时长。
nginx缓存
当客户端请求头像时,如果服务器上没有缓存,则从源服务器中获取头像并缓存在服务器上。如果服务器上有缓存,则从服务器的缓存中提取内容,从而节省服务器流量并减轻源服务器的压力。所以当用户头像发生变化时,只有缓存失效后才能再次获取新的头像。
当缓存内容超过缓存时间时,将自动从服务器上删除,以释放空间。
常见问题
1、HTTPS 无法部署
原因一:使用了文件验证
办法:使用DNS认证申请SSL证书
原因二:开启了反向代理
办法:先申请https证书再开启反向代理
2、反代访问出错
原因:反代了子目录,与源站网页有冲突
办法:反代根目录 /
利用CDN加速 Gravatar 头像的方法
又拍云 cdn 加速 Gravatar 头像(其他CDN方法类似)
1.首先进入创建又拍云 cdn 服务,加速地址填写你想要加速的域名,
源站地址: secure.gravatar.com
端口号: 443
2.创建完成后,在域名解析处添加一个cname解析,然后申请一个域名证书并绑定域名证书(这一步必须完成,否则浏览器会判定不安全)
3.添加缓存规则并自定义天数
4.打卡智能压缩和webp自适应,其他不需要设置
5.在模板后台设置Gravatar镜像源地址,前面部分填写自己的加速域名,就完成了。
6.如后台不能直接设置,直接打开 Typecho 安装目录下的 config.inc.php 文件,将以下代码加到文件末尾即可。(镜像源地址替换成自己的)
6.如果后台不能直接设置,打开Typecho安装目录下的config.inc.php文件,并在文件末尾添加以下代码。(镜像的地址替换成自己的网址请勿直接使用本站的)
/** 定义Gravatar头像源 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.ityinhu.com/avatar/');
7、清除浏览器缓存,现在gravatar变成自己的源了。
参考文章:《使用宝塔面板镜像网站教程》