80后的细娃儿

自己反代Google字体库,实现国内/外均高速访问

自己反代Google字体库,实现国内/外均高速访问

最近感觉网站还是把Google字体库加上去比较好,非常不想就某堵墙的错Google服务访问不通畅的原因导致网站的英文字体全部变丑。突然觉得前段时间将google字体去掉完全是一种妥协,非常的不符合我的性格。
很多人推荐使用国内的镜像,但是国内的镜像普遍存在两个问题。
1.部分不支持HTTPS
2.大部分在国外加载缓慢
将自己网页的打开速度寄托在别人服务器上,显然这又是一件不符合我的性格的事情,所以这个绝对不能被采用。
考虑到我的网站用的是Linode,在国内的访问速度少说也有100K/s吧,哪怕是偏远地区,于是最后我还是决定自己反代一个。

虽然每次不想强调这个悲伤的事实,但是还是得说:本文所述内容不适合大陆VPS,并且只适合带宽充足,速度较快的国外VPS,如Linode Tokyo/Fremont

分割线上方为废话。下面开始正题。
完成这个伟大的目标,你需要:
1.VPS,专用于此的独立IP。如果你不想让windows xp用户正常使用HTTPS,或者根本不用HTTPS,或者你有wildcard证书,那么独立的IP可以不需要。我就是不想让XP用户用HTTPS访问我的网站,因为需要HTTPS的只有我一个。
2.nginx-extras。Apache2做反代没有尝试过,不在本文的讨论范围内。
3.域名以及SSL证书。如果不需要HTTPS访问可以不要SSL证书。

STEP.1 安装nginx并建立nginx配置文件
首先你需要一个正常工作(包括处理SSL)的nginx
作为一个小白用户,我曾经不懂得Ubuntu直接apt-get install nginx安装的nginx是不支持SSL的,nginx也不给我报个错,这让我烦恼了很久。
正确安装姿势(Ubuntu):

正常情况下nginx会在配置文件中include /etc/nginx/sites-enabled/*和include
/etc/nginx/conf.d/*.conf,于是我们就在/etc/nginx/conf.d/中新建一个google.conf文件。
文件中需要改动的部分已经用中文注释标明。由于这部分内容较长,建议复制到文本编辑器中查看/编辑。

建立这样一个配置文件后直接nginx -s reload,不出任何错误的话,你的字体库域名就可以直接用来替换fonts.googleapis.com了。


实如果你不想专门用一个域名/IP地址,又想给XP用户访问HTTPS,或者你安装了apache,nginx不能监听80端口,完全可以将80端口换成
其他端口,只是sub_filter需要在后面加上端口,并且替换fonts.googleapis.com的时候也需要加上。当然,这样就显得没有那么
优雅了。

点赞