nginx 反向代理问题

2015-11-30 12:02:21 +08:00
 dbas
情况是,只有一个公网 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;
  }
}
3517 次点击
所在节点    NGINX
8 条回复
zjqzxc
2015-11-30 12:15:07 +08:00
location /web1/{
}
location /web2/{
}
gowithwind
2015-11-30 12:18:24 +08:00
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
2015-11-30 12:46:43 +08:00
@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
2015-11-30 12:49:18 +08:00
绑定不同的域名,绑定不同的目录。只有这两个方案。
icegreen
2015-11-30 15:03:25 +08:00
分目录或者域名
wizardoz
2015-11-30 15:15:01 +08:00
绑定好多域名
zzlyzq
2015-11-30 16:34:25 +08:00
分目录有个不好的地方,如果你的 index 里面引入了./img/qwe.img 还能读出文件不?
zzlyzq
2015-11-30 16:35:09 +08:00
分端口 或者 域名 都可以,还是端口来的实在,有条件可以上域名。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/239976

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX