搭建 Google Fonts 加速代理

日期: 08 月 19日, 2014
标签:

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">

参考资料

  1. Nginx proxy for Google URLs in WordPress
  2. Module ngx_http_sub_module


« Prev Bind 搭建智能 DNS
Next » 幻方