由于众所周知的原因,WordPress在使用过程中,后台及模板都会调用到Google Fonts&Google Libs的文件,如果恰逢没有科学上网工具的时候看着一直都在Loading的浏览器会觉得真是生不如死……
0. 前情提要
之前我试用过Qihoo360的Replace Google Fonts和Replace Google Libs插件,满心欢喜的装好就丢着不管了,直到某日骚包地发现Chrome里面大标题Mr.21是宋体……要多难看有多难看,debug了一下发现是Qihoo360的字体库压根没!有!加!载!到!
直接访问插件替换出来的URL,居然提示证书错误(HTTPS),而且两个站的证书错误提示还不一样……
此服务器无法证明它是fonts.useso.com;其安全证书来自*.yiqifa.com。出现此问题的原因可能是配置有误或您的连接被拦截了。
此服务器无法证明它是ajax.useso.com;其安全证书来自res.0kee.com。出现此问题的原因可能是配置有误或您的连接被拦截了。
yiqifa.com和0kee.com都是360名下的站点,这得有多粗糙才能做出这样的服务来啊,而且压根自己就不用的对吧!对吧!对吧?!
1. 进入主题
我焚香祭拜谷歌大神,祂给我出了个主意,让我看看中科大LUG发布的Google Fonts加速服务,一看,深得我心,走HTTPS也不会有诡异的错误提示↑,这才是良心服务商应该有的样子~
按照文中说明,我应该将下面这些前面地址换成后面的地址
fonts.googleapis.com fonts.lug.ustc.edu.cn
ajax.googleapis.com ajax.lug.ustc.edu.cn
themes.googleusercontent.com google-themes.lug.ustc.edu.cn
fonts.gstatic.com fonts-gstatic.lug.ustc.edu.cn
我试过直接修改上面提到的两个插件里面的路径,但是发现没办法用HTTPS来走,而且会有替换不了的情况……
于是,我想另辟蹊径……
2. 另辟蹊径
好吧,我又烧香了,这次我也忘了从哪里找到的,说是可以直接在Nginx的配置里面http{}
段增加几个句子,从WEB服务器层面直接把输出的上面几个原始地址替换为LUG@USTC提供的加速服务,于是我照做了……
首先,需要你的Nginx有一个叫substitutions_filter_module
的模块,如果没有的话,按照这里编译安装一下吧……
Tips. 如果不知道之前Nginx编译的时候带了哪些参数和模块,可以用Nginx -V
查看。
然后找到你的nginx.conf,如果不知道在哪里,可以用以下命令搜索
|
[root@S53 ~]# find / -name nginx.conf -type f /usr/local/nginx/conf/nginx.conf |
打开它,在http{}
配置段中,寻找对应}
,在上方增加以下配置
|
subs_filter_types text/css text/xml text/javascript; subs_filter //fonts.lug.ustc.edu.cn/ //fonts.lug.ustc.edu.cn/; subs_filter //ajax.lug.ustc.edu.cn/ //ajax.lug.ustc.edu.cn/; subs_filter //google-themes.lug.ustc.edu.cn/ //google-themes.lug.ustc.edu.cn/; subs_filter //fonts-gstatic.lug.ustc.edu.cn/ //fonts-gstatic.lug.ustc.edu.cn/; |
保存,退出,重启Nginx看看效果。
3. 后话
有个比较,嗯,不太方便的地方就是,走Web输出的相关地址,都会被替换,比如说我编辑Plugins的代码,就会发现实际上是Google Fonts的地址自动的替换成USTC的……
此例用的是LUG@USTC提供的服务,当然你也可以找谷歌大神烧香问问“Google Fonts反代”,会发现有很多公益项目都提供了,包括下面【引用参考】部分的4、5都提供这样的服务。
下次说说,Mr.21 Blog升级为HTTPS加密访问了,用的是Letsencrypt的免费证书,三个月的证书期限有点蛋疼啊……
嗯,就这样。
-EOF-
——————–
引用参考:
- LUG@USTC Google Fonts 加速服务
- 编译nginx的源码安装subs_filter模块
- nginx_substitutions_filter project
- 常用前端公共库CDN服务
- 公益项目:CDNJS 库以及 Google Fonts、Ajax 和 Gravatar 反代