nginx 反代同一个域名应该怎么弄? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Adminmaster
V2EX    NGINX

nginx 反代同一个域名应该怎么弄?

  •  1
     
  •   Adminmaster 2015 年 11 月 5 日 6311 次点击
    这是一个创建于 3823 天前的主题,其中的信息可能已经有所发展或是发生改变。

    印象中都是用 a.comf 去反代 b.com ,那么问题来了,想 a.com 反代 a.com 应该怎么弄?
    还有一个小问题,用加拿大服务器做后端,香港 VPS 反代做前端,不知道速度会不会提高一些

    第 1 条附言    2015 年 11 月 5 日
    用了 upstream 的方法,直接搞定了,谢谢大伙了哈
    23 条回复    2015-11-05 18:51:43 +08:00
    botson
        1
    botson  
       2015 年 11 月 5 日
    改香港 VPS 的 host 是否可行?把 a.com 指向加拿大机器的 ip
    或者在 ng 直接反向代理到加拿大的机器
    alect
        2
    alect  
       2015 年 11 月 5 日
    多层反代我就在用,直接改 host 指向即可,速度会提升的。
    msg7086
        3
    msg7086  
       2015 年 11 月 5 日 via Android
    反代地址写主机 ip
    arnofeng
        4
    arnofeng  
       2015 年 11 月 5 日 via Android
    我也这么做了。效果很好。两个 64vps 反代。见 blog.adminhost.org 。先正常解析,然后再解析到 nginx 机器上。
    liyvhg
        5
    liyvhg  
       2015 年 11 月 5 日
    用不同的端口可以一层一层反代下去
    coagent
        6
    coagent  
       2015 年 11 月 5 日
    我就反代了一个站,外面的 DNS 解析指向香港机器的 IP ,实际机器在美国,香港机器 nginx 里用 IP 去连美国的机器, upstream 里写 IP 地址,香港机器 host 都不用弄。
    Adminmaster
        7
    Adminmaster  
    OP
       2015 年 11 月 5 日
    @arnofeng 那 SSL 应该怎么整,我弄了下,证书显示不对
    arnofeng
        8
    arnofeng  
       2015 年 11 月 5 日
    @Adminmaster 一样的整啊。配置 nginx 的 ssl 你看我的 https://www.blofeng.com 反代的
    arnofeng
        9
    arnofeng  
       2015 年 11 月 5 日
    luanluan
        10
    luanluan  
       2015 年 11 月 5 日
    @arnofeng 在 nginx 上启 HTTPS 反代上 host 加上 HTTPS 地址?
    ryd994
        11
    ryd994  
       2015 年 11 月 5 日 via Android
    这才是真正的反代,其实很多 CDN 不就是这样么
    前些年舰娘火的时候有改 hosts 代理,就是这样
    硬广: http://www.crystalacg.com
    Adminmaster
        12
    Adminmaster  
    OP
       2015 年 11 月 5 日
    @arnofeng 我 proxy_pass 那边填 http://ip 不能访问 ,填 https:ip 能访问,但是证书不识别。- -
    clanned
        13
    clanned  
       2015 年 11 月 5 日 via Android
    我是这么弄的
    dnsmasq 配置 address=/.example.com real-server-ip

    nginx http 里 resolver 127.0.0.1
    arnofeng
        14
    arnofeng  
       2015 年 11 月 5 日
    @Adminmaster
    ##blogfeng start
    server {
    listen 80;
    server_name www.blogfeng.com blogfeng.com;
    location / {
    proxy_redirect http://www.blogfeng.com/ /;
    proxy_pass http://*******;
    proxy_connect_timeout 60s;
    proxy_read_timeout 5400s;
    proxy_send_timeout 5400s;

    proxy_set_header Host "www.blogfeng.com";

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto http;
    proxy_set_header Accept-Encoding "";
    proxy_set_header User-Agent $http_user_agent;


    }

    }


    server {
    listen 443;
    server_name www.blogfeng.com blogfeng.com;

    ssl on;
    ssl_certificate /etc/ssl/private/1_blogfeng.com_bundle.crt;
    ssl_certificate_key /etc/ssl/private/2_blogfeng.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-AES128-SHA256:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    location / {
    proxy_redirect http://www.blogfeng.com/ /;
    proxy_pass http://*********;
    proxy_connect_timeout 60s;
    proxy_read_timeout 5400s;
    proxy_send_timeout 5400s;
    proxy_set_header Host "www.blogfeng.com";

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto http;
    proxy_set_header Accept-Encoding "";
    proxy_set_header User-Agent $http_user_agent;

    }

    }
    ##blogfeng end
    Adminmaster
        15
    Adminmaster  
    OP
       2015 年 11 月 5 日
    @arnofeng 我的 conf 这样设置不知道是不是不对的:

    server {
    listen 80;
    server_name abc.com www.abc.com;
    return 301 https://abc.com$request_uri;
    }
    server {
    listen 443 ssl http2;
    server_name abc.com www.abc.com;
    ssl_certificate /etc/ssl/vhost/abc_com.crt;
    ssl_certificate_key /etc/ssl/vhost/abc_com.key;
    ssl_prefer_server_ciphers on;
    keepalive_timeout 60;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
    add_header Strict-Transport-Security max-age=63072000;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

    location / {
    proxy_pass http://ip;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_set_header Accept-Encoding "";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    add_header Front-End-Https on;
    proxy_redirect off;
    }
    }
    Adminmaster
        16
    Adminmaster  
    OP
       2015 年 11 月 5 日
    @coagent upstream 怎么写,这样吗?

    upstream prod {
    server ip;
    }
    arnofeng
        17
    arnofeng  
       2015 年 11 月 5 日 via Android
    @Adminmaster 。。。兄弟 不谷歌吗 你要手把手交的话 还是别折腾了。请人搞吧。
    Adminmaster
        18
    Adminmaster  
    OP
       2015 年 11 月 5 日
    @arnofeng 主要是平时都是 a 代 b ,突然蒙逼了哈。。
    kmahyyg
        19
    kmahyyg  
       2015 年 11 月 5 日
    参考 wen.lu 方案

    github
    Slienc7
        20
    Slienc7  
       2015 年 11 月 5 日
    直接转发端口即可,反代浪费资源
    Andy1999
        21
    Andy1999  
       2015 年 11 月 5 日 via iPhone
    一行 host 的事情……
    Laforet
        22
    Laforet  
       2015 年 11 月 5 日
    @ryd994

    贵站的 UI 比以前好看多了,精神支持一下
    Adminmaster
        23
    Adminmaster  
    OP
       2015 年 11 月 5 日
    @xgowex 已经用了 upstream 方案,搞定。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     947 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 62ms UTC 19:23 PVG 03:23 LAX 12:23 JFK 15:23
    Do have faith in what you're doing.
    ubao msn 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