如何配置 nginx 转发不同请求到不同的 docker

2016-05-29 09:18:21 +08:00
 fortunezhang

docker 新手一个,有这么一个想法,我现在有一台服务器,假如服务器的 ip 是 111.111.111.111 ,然后我把 name.test.comage.test.com 同时解析到了 111.111.111.111 。 我这台服务器是 ubuntu ,上面有 nginx 来管理所有的请求,当 nginx 发现请求是请求 name.test.com 的时候我把请求转发给 docker A , docker A 里面有经过一系列的处理返回给 nginx 一个网页或者一些列的数据, nginx 将这些数据返回给用户。同理当 nginx 发现是请求 age.test.com 的时候,将请求转发给 docker B , docker B 处理返回。 问题: 1.这样的设计是否可行,可以实现。 2.如果可以实现的话,怎么配置 nginx 和 docker ,希望各位指点。或者给我一些资料地址。

谢谢!

5336 次点击
所在节点    Docker
9 条回复
int64ago
2016-05-29 09:28:45 +08:00
不同 Docker 映射出不用的端口, Nginx 直接区别反代
int64ago
2016-05-29 09:29:18 +08:00
s/不用 /不同 /g
lujjjh
2016-05-29 10:32:44 +08:00
zjqzxc
2016-05-29 10:49:16 +08:00
server {
listen 80;
listen [::]:80;

server_name name.test.com;

location / {
proxy_pass http://127.0.0.1:port1;
proxy_set_header Hos artcms.com;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
server {
listen 80;
listen [::]:80;

server_name age.test.com;

location / {
proxy_pass http://127.0.0.1:port2;
proxy_set_header Hos artcms.com;
proxy_set_header X-Forwarded-For $remote_addr;
}
}

port1 port2 为 docker 的端口
或者如果 docker 有自己的 ip 的时候直接写对应 docker 的 ip 就行了
icybee
2016-05-29 11:37:42 +08:00
前一段时间正好遇到过这个需求

http://icybee.cn/article/57.html

看其中的 动态二级域名实现方案 这一小节
fortunezhang
2016-05-29 14:16:51 +08:00
@icybee 谢谢,我看一下。
fortunezhang
2016-05-29 14:17:08 +08:00
@lujjjh thx
defunct9
2016-05-29 15:41:57 +08:00
icybee
2016-05-29 16:51:30 +08:00
@defunct9 邮件说吧 icybee@yeah.net

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

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

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

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

© 2021 V2EX