背景:为什么我要搭 Google 镜像?
很多开发者或研究人员日常离不开 Google 搜索、Google Scholar 等服务。但在某些办公网络环境下,Google 经常“抽风”——要么打不开,要么加载慢得像蜗牛。与其干等,不如自己动手,用一台境外 VPS + Nginx 快速搭个轻量级 Google 镜像站。
重点来了:这不是爬虫,也不是缓存代理,而是通过反向代理+内容替换,把 Google 的页面“伪装”成你自己的域名,从而绕过部分网络限制。
准备工作
- 服务器:推荐使用搬瓦工(BandwagonHost)等常见 VPS,IP 能正常访问 Google 即可
- 系统:Ubuntu 18.04(其他 Linux 发行版操作类似)
- 域名:一个你拥有的域名(比如
mygoogle.example.com),用于绑定解析 - 基础技能:会用 SSH、能编辑 Nginx 配置文件即可,小白也能上手
第一步:安装 Nginx
登录你的服务器,执行以下命令安装 Nginx:

站长导航
优网导航旗下汇集全网优质站长工具,一站式站长工具大全导航网站
sudo apt update
sudo apt install nginx -y
安装完成后,Nginx 默认会启动。你可以通过 systemctl status nginx 检查状态。
第二步:编写 Google 镜像配置文件
在 /etc/nginx/sites-enabled/ 目录下新建一个配置文件,比如叫 google.conf:
sudo nano /etc/nginx/sites-enabled/google.conf
然后填入以下内容(注意:把 www.example.com 替换成你自己的域名!):
server {
# 替换为你自己的域名
server_name www.example.com;
location / {
# 核心:将请求代理到 Google 官方站点
proxy_pass https://www.google.com/;
# 处理重定向,避免跳回 google.com
proxy_redirect https://www.google.com/ /;
# 修改 Cookie 域名,防止浏览器拒绝跨域 Cookie
proxy_cookie_domain google.com www.example.com;
# 透传用户 UA,让 Google 以为是普通浏览器访问
proxy_set_header User-Agent $http_user_agent;
# 注入一个预设的 Google PREF Cookie
# 这个 Cookie 能减少 302 跳转(比如跳到 country-specific 域名)
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";
# 传递真实 IP,方便调试(非必需但建议保留)
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 关键!替换页面中所有指向 google.com 的链接为你的域名
# 注意:这里假设你的镜像站用 HTTP(若用 HTTPS 需同步修改)
subs_filter http://www.google.com http://www.example.com;
subs_filter https://www.google.com http://www.example.com;
}
}
💡 说明:
AI 工具导航
优网导航旗下AI工具导航,精选全球千款优质 AI 工具集
subs_filter是 Nginx 的第三方模块(需编译时启用ngx_http_sub_module)。如果你用的是 Ubuntu 官方源安装的 Nginx,默认可能不支持。- 解决方案:改用
nginx-extras包(sudo apt install nginx-extras),它包含更多模块。
第三步:重载 Nginx 配置
保存文件后,执行以下命令让配置生效:
sudo nginx -s reload
如果提示 nginx: [emerg] unknown directive "subs_filter",说明你的 Nginx 不支持该模块,请按上面提示安装 nginx-extras。
第四步:配置 DNS 解析
登录你的域名服务商后台(如 Cloudflare、阿里云、GoDaddy 等),添加一条 A 记录:
- 主机记录:
www(或你自定义的子域名) - 记录值:你的服务器公网 IP
等待 DNS 生效(通常几分钟到几小时),然后在浏览器访问 http://your-domain.com,应该就能看到 Google 首页了!
加个密码锁:防止被滥用(Basic Auth)
如果你不想让全世界都能用你的镜像站,强烈建议加上 HTTP Basic 认证。

免费在线工具导航
优网导航旗下整合全网优质免费、免注册的在线工具导航大全
1. 生成密码文件
运行以下命令(替换 your_username 和 your_password):
printf "your_username:$(openssl passwd -crypt your_password)\n" >> /etc/nginx/conf.d/passwd
这会在 /etc/nginx/conf.d/passwd 中生成一行加密后的凭证。
2. 修改 Nginx 配置
编辑刚才的 google.conf,在 location / 块中加入两行:
location / {
# 新增:启用 Basic Auth
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/conf.d/passwd;
# 原有配置保持不变...
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";
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;
}
3. 重载 Nginx
sudo nginx -s reload
现在再访问你的镜像站,就会弹出登录框啦!
常见问题 & 小贴士
❓ 为什么搜索后会跳回 google.com?
这是 Google 的 302 重定向机制在作怪。解决方法:
- 确保
proxy_redirect和subs_filter配置正确 - 检查 Cookie 是否生效(尤其是
PREF字段) - 如果仍不行,可尝试更复杂的方案(如 zmirror)
❓ 能不能用 HTTPS?
可以!但你需要:
- 申请 SSL 证书(Let’s Encrypt 免费)
- 把
subs_filter中的http://改为https:// - 确保所有资源(JS/CSS)都走 HTTPS,否则浏览器会拦截
不过对纯搜索用途来说,HTTP 已足够,省事又高效。
❓ 虚拟主机/宝塔面板能用吗?
理论上可以,但要确认:
- 面板是否支持
subs_filter模块 - 能否自定义 Nginx 配置(有些虚拟主机限制较多)
建议直接用纯净 VPS,自由度更高。
总结
用 Nginx 搭 Google 镜像站,核心就三点:
- 反向代理:把请求转发给 Google
- 内容替换:把页面里的
google.com换成你的域名 - Cookie 伪装:避免跳转和地域限制
整个过程不到 10 分钟,成本几乎为零。对于团队内部使用、临时应急都非常实用。
🚀 友情提醒:此方案仅用于合法合规的个人/团队学习研究,请勿用于商业分发或大规模公开服务。
如需进一步优化(比如支持 Google Scholar、自动处理 HTTPS、集成搜索框等),欢迎留言交流!




