很多时候上网时都会遇到“正在读取fonts.googleapis.com”的等待提示。

googles api在美国,访问起来比较慢,可能是墙的原因,也可能是线路的原因。

怎么能浪费大家的时间呢?360提供了一种方法,就是把googleapis.com改成他们的域名。这样只能为自己的网站解决了问题,别人的网站还是访问不了。

我想说的是我如何使用代理服务器来实现访问google apis的。要实现的目的是:访问“fonts.googleapis.com”便转发到“fonts.useso.com”。我在本地计算机安装了apache,这个是兼用来做代理的。我们首先要把“fonts.googleapis.com”的请求转发到本地虚拟主机127.0.2.1,在文件“C:\Windows\System32\drivers\etc\hosts”中加入一行:

127.0.2.1 fonts.googleapis.com
然后保存文件,这样google apis的请求就转发到本地来了。

接下来我们配置apache

 

<VirtualHost 127.0.2.1:80>
    ServerName    fonts.googleapis.com
    ProxyRequests Off
    <proxy *>
    Order deny,allow
    Allow from all
    </proxy>
    ProxyPass / http://fonts.useso.com/
    ProxyPassReverse / http://fonts.useso.com/
</VirtualHost>


很简单,把所有请求都转发给fonts.useso.com/。配置后重启服务器。

 

现在我们测试一下,访问:“http://fonts.googleapis.com/css?family=Lato:700”

返回结果:

@font-face {
  font-family: 'Lato'
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'), url(http://fontstatic.useso.com/s/lato/v11/wkfQbvfT_02e2IWO3yYueQ.woff) format('woff');
}

 

大功告成。本想放到我公网网站上的,但怕访问压力大,便在本地主机做成代理服务器了。

你也可以把fonts.googleapis.com的内容全部读下来做一个镜像的,方法多多。