Google Fonts 提供了十分丰富的在线字体,用的人很多。但在国内,由于众所周知的原因不方便使用。解决方案一般是把字体下载到本地,或使用大(3)数(6)字(0)的 Google Fonts 代理(不支持 HTTPS)。为了支持 HTTPS,可以在国外的 VPS 上配置 Nginx 反向代理 Google Fonts。
配置
Nginx 的配置如下:
location /google/fonts/ {
sub_filter_types text/css;
sub_filter_once off;
sub_filter //fonts.gstatic.com/ //cdn.pxx.io/google/fonts-static/;
rewrite ^/google/fonts/(.+)$ /$1 break;
proxy_pass https://fonts.googleapis.com;
proxy_set_header Host "fonts.googleapis.com";
proxy_set_header Accept-Encoding "";
}
location /google/fonts-static/ {
rewrite ^/google/fonts-static/(.+)$ /$1 break;
proxy_pass https://fonts.gstatic.com;
proxy_set_header Host "fonts.gstatic.com";
proxy_set_header Accept-Encoding "";
}
可以根据需要自行设置 proxy_cache。
使用
用法很简单,只要把 fonts.googleapis.com
全部换成 cdn.pxx.io/google/fonts
即可。例如,本博客使用的 Clicker Script 字体:
<link rel='stylesheet' type='text/css' href="//cdn.pxx.io/google/fonts/css?family=Clicker+Script">