Nginx 代理Google 进行科学上网

摘要

由于google被墙,工作效率严重下降,百度出来全是广告,我以前的VPS只是当做一个小飞机客户端使用,感觉会比较浪费。就顺手搭建了一个Nginx代理Google 速度杠杠的。有国外vps的朋友可以试试,声明:有风险,IP或者域名有被墙的可能,并且Google限制访问次数,就是不可以大量的人访问你的代理,否则Google会提示大量网络流量

Nginx 代理Google

Nginx


K8S文章:https://k8s.abcdocker.com
个人博客:https://www.abcdocker.com

为了大家方便🔍搜索,我这里提供Google访问,如果想买VPS也可以找我~

正文

由于google被墙,工作效率严重下降,百度出来全是广告,我以前的VPS只是当做一个小飞机客户端使用,感觉会比较浪费。就顺手搭建了一个Nginx代理Google 速度杠杠的。有国外vps的朋友可以试试,声明:有风险,IP或者域名有被墙的可能,并且Google限制访问次数,就是不可以大量的人访问你的代理,否则Google会提示大量网络流量

如何使用Nginx代理Google

首先需要准备以下资料
1.Vps 最好使用Hostus (我自己的已经用了2年了,还可以当小飞机用)
2.域名 (这个没啥好说的)
3.证书 (因为google不支持http,所以我们需要使用https证书进行连接)

安装nginx

首先我们需要安装nginx还需要将 --with-http_sub_module ngx_cache_purge-2.1编译到nginx

安装Nginx我们直接使用lnmp脚本安装,节省时间还可以解决
由于我们nginx编译会产生很多依赖,会相当麻烦。所以这里我们nginx编译使用网上的脚本进行编译安装

  1. wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz
  2. #进入脚本目录
  3. 执行./install

因为脚本是Lnmp,我们只需要安装nginx,所以这里只安装nginx其它都执行n
image_1cn0pfgu0rhlc5rc5c1vqf18e2p.png-576.6kB

LNMP文章:https://blog.linuxeye.cn/31.html

安装完毕后
image_1cn0ph1enooshu0ru41cfl150516.png-325.4kB

配置nginx

  1. 因为目前Nginx还没有添加相关模块,所以目前无法代理Google
  2. 下载依赖包
  3. git clone https://github.com/cuber/ngx_http_google_filter_module
  4. git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module
  5. wget http://mirrors.linuxeye.com/oneinstack/src/pcre-8.39.tar.gz
  6. wget http://mirrors.linuxeye.com/oneinstack/src/openssl-1.0.2j.tar.gz
  7. wget http://nginx.org/download/nginx-1.14.0.tar.gz
  8. 解压
  9. tar xzf pcre-8.39.tar.gz
  10. tar xzf openssl-1.0.2j.tar.gz
  11. tar xf nginx-1.14.0.tar.gz
  12. 重新编译Nginx
  13. cd nginx-1.14.0
  14. ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module \
  15. --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module \
  16. --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2j \
  17. --with-pcre=../pcre-8.39 --with-pcre-jit --with-ld-opt='-ljemalloc' \
  18. --add-module=../ngx_http_google_filter_module \
  19. --add-module=../ngx_http_substitutions_filter_module
  20. ##进行make
  21. make
  22. mv /usr/local/nginx/sbin/nginx{,_`date +%m%d`} #备份现有nginx
  23. cp objs/nginx /usr/local/nginx/sbin/ #更新nginx
  24. nginx -t
  25. service nginx restart #重启Nginx

因为脚本几乎直接帮我们配置好了,我们需要添加一个include的目录并添加Nginx配置文件

  1. [root@abcdocker conf]# mkdir -p /usr/local/nginx/conf/vhost
  2. [root@abcdocker conf]# vim c.conf
  3. #配置文件内容如下~
  4. server {
  5. listen 443 ssl http2;
  6. server_name c.abcdocker.com;
  7. access_log logs/access_nginx.log combined;
  8. ssl_certificate /usr/local/nginx/conf/ssl/c.abcdocker.com.crt;
  9. ssl_certificate_key /usr/local/nginx/conf/ssl/c.abcdocker.com.key;
  10. ssl_session_timeout 10m;
  11. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  12. ssl_prefer_server_ciphers on;
  13. ssl_ciphers CHACHA20:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
  14. ssl_session_cache builtin:1000 shared:SSL:10m;
  15. resolver 8.8.8.8 8.8.4.4 valid=300s;
  16. resolver_timeout 5s;
  17. if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot")
  18. {
  19. return 403;
  20. }
  21. location / {
  22. google on;
  23. google_scholar on;
  24. google_language zh-CN;
  25. #google_language en;
  26. }
  27. }
  28. server {
  29. listen 80;
  30. server_name c.abcdocker.com;
  31. rewrite ^(.*)$ https://$host$1 permanent;
  32. }
  33. ## 修改Nginx我就不教大家了,不会的请点击https://www.abcdocker.com/abcdocker/category/nginx/

因为代理google需要使用https协议,我们这里已经配置好证书的,没有证书的可以去阿里云 腾讯云 Let’s Encrypt等

我们使用腾讯云的证书,只需要上传https证书

  1. [root@abcdocker conf]# mkdir /usr/local/nginx/conf/ssl
  2. # 创建证书目录
  3. # 然后就是改名,rz完事!
  4. nginx -t
  5. nginx -s reload #刷新即可

设置域名解析
11.png-374.4kB

查看解析是否成功

12.png-184.7kB

结果演示

这里我们推荐使用Hostus的主机,不推荐使用其他的。

14.jpg-250.1kB
13.png-548.6kB

网上有的文章有说使用upstream的模式,但是个人感觉会比较麻烦~

喜欢请关注我们吧~ Abcdocker只分享干货


  • 3
  • 1,419 views
    A+
发布日期:2018年09月10日  所属分类:Linux  NGINX
标签:
新闻联播老司机

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  3   博主  0

  1. avatar Myki 0
    小哥哥为嘛不把nginx代理google 直接配置成docker 镜像然后放在最下面这样可以直接用 到时候换下域名和证书更方便 哈哈
    • avatar 新闻联播老司机 2
      后期我会整理一个更简单的,直接通过GitHub拉取镜像
      • avatar neo 0
        等楼主的镜像