很多 Google 镜像站用的工具是ngx_http_google_filter_module,是一个nginx的插件,用的原理是nginx的反向代理。
首先要有一台能访问google.com的vps或云主机,并且确保之前编译安装过nginx。
这个插件依赖于ngx_http_substitutions_filter_module这个库。
$ git clone https://github.com/cuber/ngx_http_google_filter_module
$ git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module
$ cd nginx
$ ./configure \
--user=nginx \
--group=nginx \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre \
--with-file-aio \
--with-http_realip_module \
--without-http_scgi_module \
--without-http_uwsgi_module \
--without-http_fastcgi_module \
--add-module=/home/ubuntu/softs/ngx_http_google_filter_module \
--add-module= /home/ubuntu/softs/ngx_http_substitutions_filter_module \
具体的编译参数可以通过nginx -V查到。
--add-module指定插件的保存位置。
接下来编译安装。
$ make
$ sudo make install
重启服务。
$ sudo make upgrade
还可以用nginx -V查看是否编译成功。
打开配置文件/etc/nginx/nginx.conf。
server {
# ... part of server configuration
resolver 8.8.8.8;
location / {
google on;
}
# ...
}
找到server部分,添加resolver和location两个指令,总共四行。
让配置文件生效。
$ sudo nginx -s reload
最后访问你站点网址,就会反向代理到 Google 站点。