V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
dbas
V2EX  ›  NGINX

nginx 反向代理问题

  •  
  •   dbas · Nov 30, 2015 · 4514 views
    This topic created in 3811 days ago, the information mentioned may be changed or developed.
    情况是,只有一个公网 IP: 222.222.222.222 只开了一个端口 80;(不能多开)
    内网有很多 web 服务器,192.168.1.N 每个的端口各不同
    问题来了,如何通过 80 端口去访问到不同的内网 web 服务.

    server {
    listen 80;
    server_name2 22.222.222.222;
      location / {
      proxy_pass http://192.168.1.N; ###这种只能代理到一个,多个的话如何搞
      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }
    8 replies    2015-11-30 16:35:09 +08:00
    zjqzxc
        1
    zjqzxc  
       Nov 30, 2015   ❤️ 1
    location /web1/{
    }
    location /web2/{
    }
    gowithwind
        2
    gowithwind  
       Nov 30, 2015
    upstream frontends {

    server 127.0.0.1:8801;

    server 127.0.0.1:8802;

    server 127.0.0.1:8803;

    server 127.0.0.1:8804;

    server 127.0.0.1:8805;

    server 127.0.0.1:8806;

    server 127.0.0.1:8807;

    server 127.0.0.1:8808;

    }

    server {

    listen 8888; #监听端口

    location / {

    proxy_read_timeout 1800;

    proxy_pass_header Server;

    proxy_set_header Host $http_host;

    proxy_redirect off;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Scheme $scheme;

    proxy_pass http://frontends;

    }

    }
    dbas
        3
    dbas  
    OP
       Nov 30, 2015
    @zjqzxc
    你的意思是
    location /web1 {
    proxy_pass http://192.168.1.1:9000; ### <-----------------------------
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /web2 {
    proxy_pass http://192.168.1.2:9001; ###<--------------------------------------------
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    你的意思是这样吗?
    访问 http://222.222.222.222/web1 就反代到 1:9000 http://222.222.222.222/web2 就 http://222.222.222.222/web2
    我就是想要这种效果
    xujif
        4
    xujif  
       Nov 30, 2015
    绑定不同的域名,绑定不同的目录。只有这两个方案。
    icegreen
        5
    icegreen  
       Nov 30, 2015
    分目录或者域名
    wizardoz
        6
    wizardoz  
       Nov 30, 2015
    绑定好多域名
    zzlyzq
        7
    zzlyzq  
       Nov 30, 2015 via Android
    分目录有个不好的地方,如果你的 index 里面引入了./img/qwe.img 还能读出文件不?
    zzlyzq
        8
    zzlyzq  
       Nov 30, 2015 via Android
    分端口 或者 域名 都可以,还是端口来的实在,有条件可以上域名。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3425 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 12:11 · PVG 20:11 · LAX 05:11 · JFK 08:11
    ♥ Do have faith in what you're doing.