搜索
查看: 1285|回复: 2

反代google

[复制链接]
  • TA的每日心情
    奋斗
    2017-6-9 15:29
  • 签到天数: 74 天

    [LV.6]常住居民II

    454

    主题

    1810

    帖子

    2万

    积分

    管理员

    Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

    积分
    20773
    发表于 2014-10-7 11:11 | 显示全部楼层 |阅读模式

    这几天谷歌都被某墙折腾得不能用了啊。上谷歌搜索资料都要翻越某墙,真悲摧啊。干脆自己用国外的一个vps反向代理谷歌吧。下面贴出我反向代理谷歌的nginx配置,造福人类。
    假设用www.centos.bz反向代理谷歌,是假设,我可不愿意由于这个博客被墙。




    proxy_cache_path  /data/nginx/cache/one  levels=1:2   keys_zone=one:10m max_size=10g;
    proxy_cache_key  "$host$request_uri";
    server {
    listen 80;
    server_name www.centos.bz centos.bz;
    rewrite ^(.*) https://www.centos.bz$1 permanent;
    }
    upstream google {
    server 74.125.224.80:80 max_fails=3;
    server 74.125.224.81:80 max_fails=3;
    server 74.125.224.82:80 max_fails=3;
    server 74.125.224.83:80 max_fails=3;
    server 74.125.224.84:80 max_fails=3;
    }
    server {
            listen      443;
            server_name  www.centos.bz centos.bz;
             ssl on;
        ssl_certificate /usr/local/nginx/conf/centos.crt;
        ssl_certificate_key /usr/local/nginx/conf/centos.key;
    location / {
                    proxy_cache one;
                    proxy_cache_valid  200 302  1h;
                    proxy_cache_valid  404      1m;
                    proxy_redirect https://www.google.com/ /;
                    proxy_cookie_domain google.com centos.bz;
                    proxy_pass              http://google;
                    proxy_set_header Host "www.google.com";
                    proxy_set_header Accept-Encoding "";
                    proxy_set_header User-Agent $http_user_agent;
                    proxy_set_header Accept-Language "zh-CN";
                    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";
                    sub_filter www.google.com www.centos.bz;
                    sub_filter_once off;
    }

    }




    解释下吧:

    • 1、这里监听了80和443端口,用了ssl加密,高大上。ssl证书是免费的,startssl,自己去申请个吧。
    • 2、定义了个upstream google,放了5个谷歌的ip,如果不这样做,就等着被谷歌的验证码搞崩溃吧。
    • 3、也设置了反向代理缓存,某些资源不用重复去请求谷歌获取,加快搜索速度。
    • 4、proxy_redirect https://www.google.com/ /; 这行的作用是把谷歌服务器返回的302响应头里的域名替换成我们的,不然浏览器还是会直接请求www.google.com,那样反向代理就失效了。
    • 5、proxy_cookie_domain google.com centos.bz; 把cookie的作用域替换成我们的域名。
    • 6、proxy_pass http://google; 反向代理到upstream google,会随机把请求分配到那几个ip。忘记说了,那几个ip可以在自己的vps或服务器上使用nslookup www.google.com获取。
    • 7、proxy_set_header Accept-Encoding ""; 防止谷歌返回压缩的内容,因为压缩的内容我们无法作域名替换。
    • 8、proxy_set_header Accept-Language "zh-CN";设置语言为中文
    • 9、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给谷歌,是为了禁止即时搜索,因为开启即时搜索无法替换内容。还有设置为新窗口打开网站,这个符合我们打开链接的习惯。
    • 10、sub_filter www.google.com www.centos.bz;当然是把谷歌的域名替换成我们的了,注意需要安装nginx的sub_filter模块

    好了,说明够详细了,祝各位享受到高质量的谷歌搜索。


    https://www.centos.bz/2014/06/nginx-proxy-google/



    推荐DO注册:
    https://www.digitalocean.com/?refcode=de66f5a659fc
    优惠码SHIPITFAST。(免费获得10刀!)

    (目前本论坛就在这Digitalcean里,(*^__^*) 嘻嘻……!
    104302
  • TA的每日心情
    奋斗
    2017-6-9 15:29
  • 签到天数: 74 天

    [LV.6]常住居民II

    454

    主题

    1810

    帖子

    2万

    积分

    管理员

    Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

    积分
    20773
     楼主| 发表于 2014-10-7 11:14 | 显示全部楼层
    例子
    https://wen.lu
    LNMP可以
  • TA的每日心情
    慵懒
    2015-4-9 23:30
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    10

    主题

    113

    帖子

    1192

    积分

    高级会员

    Rank: 4

    积分
    1192
    发表于 2014-10-7 12:50 | 显示全部楼层
    https的几乎就是百度免收录 几乎不会被河蟹的节奏啦
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    手机版|Archiver|GoAgent论坛  

    GMT+8, 2017-9-25 19:35 , Processed in 0.089201 second(s), 28 queries .

    快速回复 返回顶部 返回列表