Nginx 搭建 Google 镜像站

2,418 阅读1分钟
原文链接: zhuanlan.zhihu.com
本文首发于:Nginx 搭建 Google 镜像站

前言

在公司科学上网使用谷歌经常出现很长一段时间访问不了,严重影响工作效率,没办法只能自己搭建一个镜像网站。

正文

环境

  • 机房:搬瓦工
  • 系统:Ubuntu 18.04

安装 nginx

$ sudo apt install nginx

增加 nginx 配置

/etc/nginx/sites-enabled 文件夹内新增 google.conf 配置文件,配置文件内容为:

server {
    server_name www.example.com;
 
    location / {
        proxy_pass https://www.google.com/;
 
        proxy_redirect https://www.google.com/ /;
        proxy_cookie_domain google.com www.example.com;
 
        proxy_set_header User-Agent $http_user_agent;
        proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw";
        # 这里设置cookie,这里是别人给出的一段,必要时请放上适合你自己的cookie
        # 设置这个可以避免一些情况下的302跳转,如果google服务器返回302 redirect,那么浏览器被跳转到google自己的域名,那就没的玩了
 
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
        subs_filter  http://www.google.com http://www.example.com;
        subs_filter  https://www.google.com http://www.example.com;
        # 这里替换网页中的链接,因为我们的镜像站是http的,所以上面顺便把协议也一起替换了
 }
}

注:请手动更改配置中的 www.example.com 为自己的域名地址

载入配置

使用下列命令重新载入配置

$ nginx -s reload

添加 DNS 解析记录

将自己的域名添加一条指向该台服务器 IP 的 DNS 解析记录,访问域名即可实现访问谷歌。

参考

  1. Nginx 搭建 Google 镜像站