分享我的 nginx 反向代理 google:443 配置 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
alex321
V2EX    分享创造

分享我的 nginx 反向代理 google:443 配置

  •  
  •   alex321
    alexroyce315 2014-07-07 09:22:26 +08:00 18808 次点击
    这是一个创建于 4117 天前的主题,其中的信息可能已经有所发展或是发生改变。
    proxy_cache_path /var/nginx/cache/one levels=1:2 keys_zOne=one:10m max_size=2g;
    proxy_cache_key "$host$request_uri";

    upstream google {
    server 74.125.224.71:80 max_fails=3;
    server 74.125.224.72:80 max_fails=3;
    server 74.125.224.73:80 max_fails=3;
    server 74.125.224.74:80 max_fails=3;
    server 74.125.224.75:80 max_fails=3;
    server 74.125.224.76:80 max_fails=3;
    server 74.125.224.77:80 max_fails=3;
    server 74.125.224.78:80 max_fails=3;
    server 74.125.224.79:80 max_fails=3;
    server 74.125.224.80:80 max_fails=3;
    }

    server {
    listen 80;
    server_name $你将要代理的 google 的域名$;
    rewrite ^(.*) https://$你将要代理的 google 的域名$$1 permanent;
    }

    server {
    listen 443;
    server_name $你将要代理的 google 的域名$;
    ssl on;
    ssl_certificate 你的 ssl 证书.crt;
    ssl_certificate_key 你的 ssl 密钥.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 $你将要代理的 google 的域名$;
    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 $你将要代理的 google 的域名$;
    sub_filter_once off;
    }
    }

    以上,请将$你将要代理的google的域名$替换为你反向代理的 google 的域名,如 g.foo.bar;请将/var/nginx/cache/one替换为你的nginx缓存目录,max_size为缓存区大小,随便你设置吧;upstream google段是设置的google原始可正常访问的ip的负载均衡;反向代理中考虑到自动关键字提示,替换了对应的cookie;443需要替换对应的证书,当然你用自己签发的也没关系,我用的是sslstart的证书。
    20 条回复    2018-04-02 10:13:04 +08:00
    alex321
        1
    alex321  
    OP
       2014-07-07 09:54:08 +08:00
    好似我没法 append 了,补充一下,nginx 启用 ssl 之后,每次 restart 或者 reload 需要输入证书的密码(类似于提示:Enter PEM pass phrase:)。如果你觉得烦,解决方法如下:
    openssl rsa -in 你的ssl密钥.key -out 你的ssl密钥.key.unsecure
    然后将配置中的 ssl_certificate_key 你的 ssl 密钥.key; 更改为 ssl_certificate_key 你的 ssl 密钥.key.unsecure;
    BinbinWang
        2
    BinbinWang  
       2014-07-07 10:02:44 +08:00 via iPhone
    没设置密码
    hellojinjie
        3
    hellojinjie  
       2014-07-07 10:06:31 +08:00
    @BinbinWang 就自己一个人知道的地址不需要密码嘛
    alex321
        4
    alex321  
    OP
       2014-07-07 10:13:46 +08:00
    @BinbinWang
    @hellojinjie

    密码是针对证书的。。
    如果不用 ssl 的话,貌似 google 会给你跳转出去。
    BinbinWang div class="fr">     5
    BinbinWang  
       2014-07-07 10:37:18 +08:00 via iPhone
    @alex321 我是说证书没设密码
    alex321
        6
    alex321  
    OP
       2014-07-07 11:05:11 +08:00
    @BinbinWang 木有做过没设密码的证书呢。如果启用没有密码的证书,推测 nginx reload 或者 restart 的时候不用输入密码的了。
    alsotang
        7
    alsotang  
       2014-07-07 11:52:19 +08:00
    怎么感觉这种反向代理还不如直接做个 http 代理出来有用
    ultimate010
        8
    ultimate010  
       2014-07-07 13:22:43 +08:00
    用自己生成的免密码证书就可以了,我一直用着挺好.
    alex321
        9
    alex321  
    OP
       2014-07-07 13:27:28 +08:00
    @ultimate010 我就是觉得那个红色的叉叉刺眼,并且手上已经有了 sslstart 的证书,就没有自己去搞了。
    sujin190
        10
    sujin190  
       2014-07-07 13:28:06 +08:00
    这样不会被提示中间人攻击么?我搭过一次,用自己生成的证书会提示中间人攻击,不让访问啊
    alex321
        11
    alex321  
    OP
       2014-07-07 13:48:57 +08:00
    @sujin190 自己签发的证书会出现红叉叉的提示就是说证书有风险,可能引起中间人攻击。
    我部署出来是为了几个小伙伴正常使用 google 搜索功能,申请了 sslstart 的证书。
    ultimate010
        12
    ultimate010  
       2014-07-07 14:36:51 +08:00
    @alex321 嗯,chrome下是有红xx,ff下信任一次就正常了.sslstart证书?有时间我也试一下.
    XadillaX
        13
    XadillaX  
       2014-07-07 17:08:43 +08:00
    如果是自用的话,用自己的 VPS 的 SSH 来弄不就好了么。
    jacy
        14
    jacy  
       2014-07-07 17:18:01 +08:00
    sniproxy,你值得拥有
    alex321
        15
    alex321  
    OP
       2014-07-07 17:19:43 +08:00
    @XadillaX
    是的。我的 vps 上现在已经部署了 ss 和 vpn,同时做了这个反向代理和 phpproxy,满足不同小伙伴层次的需求。
    动手能力强的给 ss,弱一点的上 vpn,懒人的就直接给 phpproxy 和反向代理的地址了。
    sujin190
        16
    sujin190  
       2014-07-07 20:05:12 +08:00
    @alex321 原来如此
    Livid
        17
    Livid  
    MOD
    PRO
       2014-07-08 06:01:11 +08:00
    这行的意义是什么呢?

    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";
    alex321
        18
    alex321  
    OP
       2014-07-08 08:41:15 +08:00   1
    @Livid 考虑到多个小伙伴使用,统一设置和 google 服务器的通讯的 cookie,用来修正 google 的关键字提示功能。
    coagent
        19
    coagent  
       2014-08-04 16:54:25 +08:00
    @alex321

    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";

    这行的设置值从哪里来的呢?

    另问:google 里搜索还涉及 google 其他域名的话,那部分内容加载怎么解决?
    ZachChan
        20
    ZachChan  
       2018-04-02 10:13:04 +08:00
    找到一个不错的反向代理网站:
    google: https://ym.abc.re/extdomains/www.google.com/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2979 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 14:14 PVG 22:14 LAX 07:14 JFK 10:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86