解决Ghost博客系统Gravatar头像被墙无法显示

最近看网站优化相关的东东,顺手找了个几个网站测试了一下pangxiekr.com。结果发现gravator头像被墙导致网站显示极慢(一直等待头像的url超时),因为我自己平常都是挂着shadowsocks代理翻墙,所以没发现这个问题。

根据直觉顺手curl了一下去掉www的url,发现果然能访问。知道这个就好改解决了。gravatar的头像是存在db中的。我们要做的就是找到头像的url去掉www。Let's go

数据库我用的mysql

mysql -u <username> -p

use pangxiekr_com;

mysql> select image from users where email="admin@pangxiekr.com";
+--------------------------------------------------------------------+
| image                                                              |
+--------------------------------------------------------------------+
| //www.gravatar.com/avatar/c206dbddc7824826f495d164748ba880?d=404&s=250 |
+--------------------------------------------------------------------+
1 row in set (0.00 sec)

update users set image="//gravatar.com/avatar/c206dbddc7824826f495d164748ba880?d=404&s=250" where email="admin@pangxiekr.com";

如果是默认的sqlite3的话,也是一样的

cd <path/to/ghost>/content/data
sqlite3 ghost.db 
select image from users where email = "admin@pangxiekr.com";
update users set image = //gravatar.com/avatar/c206dbddc7824826f495d164748ba880?d=404&s=250" where email = "admin@pangxiekr.com";  

Done