按理来说,Gravatar的头像文件都不大,加载起来应该还不算慢,然而……当我没说……最近的Gravatar走IPv6简直是大幅度拖慢站点的速度,好歹Automatic的服务器还是Anycast的,居然可以慢成这样。
反代
找了一圈并没有找到合适的,V2EX把服务器搬到国外去了,国内也没啥靠谱的反代了,还是自己搭一个吧( ̄▽ ̄)”!
百度云加速赛高(不太好用,回源太感人,换鹅厂了),反代换成了Azure,站点也强制了https跳转,访问速度应该可以保障,如果有需要在下面留言然后拿去用。
源站:
secure.gravatar.com
反代:grv.luotianyi.vc
替换
至于替换到反代上,WP的文件是在/wp-includes/link-template.php
的4148-4152
行左右,实际上i0
/i1
/cn
等几个别名都是一样的,直接替换即可。
1 2 3 4 5 6 7 8 9 10 11 12 |
#原代码信息 if ( is_ssl() ) { $url = 'https://secure.gravatar.com/avatar/' . $email_hash; } else { $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash ); } #替换后的信息 if ( is_ssl() ) { $url = 'https://grv.luotianyi.vc/avatar/' . $email_hash; } else { $url = sprintf( 'http://grv.luotianyi.vc/avatar/%s', $gravatar_server, $email_hash ); } |
有些主题有些会有定义这个链接的值,其他的也可以修改主题的functions.php
( ̄▽ ̄)”
1 2 3 4 5 6 7 8 9 10 11 |
add_filter('get_avatar', 'proxy_avatar'); function proxy_avatar($avatar) { $gr = 'grv.luotianyi.vc'; if (strpos($gr, '/avatar') || strpos($gr, '/gravatar')) { $avatar = preg_replace("/(www|secure|\d).gravatar.com\/avatar/", $gr, $avatar); } else { $avatar = preg_replace("/(www|secure|\d).gravatar.com/", $gr, $avatar); } return $avatar; } |
*本文禁止转载哦,因为算是个人自用的反代啦
百度云加速应该要备案吧,七牛云也是,没备案的还是要用国外CDN加速
反代只能有一条更好的回源线路,在其实一般博客的访问量下,基本命中不了缓存(还有个缓存过期时间)。这种东西公共CDN命中缓存可能还高点(;′⌒`)