多容器反向代理
Reverse proxy of multiple container
我在端口 10000 和 10003 上有 2 个 API 容器 (docker) 运行。我想反向代理它们,以便可以调用 API来自一个端口 80。我正在尝试使用 NGINX 来做到这一点,这是我的 nginx 配置文件:
worker_processes 1;
events { worker_connections 1024; }
http {
server {
listen 80;
server_name container1;
location / {
proxy_pass http://10.10.10.50:10003;
}
}
server {
listen 80;
server_name container2;
location / {
proxy_pass http://10.10.10.50:10000;
}
}
}
我发现它只在容器1上工作,如果有容器2的请求,它会产生404未找到警告,因为请求去容器1而不是容器2。
最后,我找到了使用 NGINX 的解决方案。我需要做的就是创建一个新的 NGINX 容器,然后重新配置我的 2 API 容器的 url。我编写的配置文件如下所示:
worker_processes auto;
events { worker_connections 1024; }
http {
upstream container1 {
server 10.10.10.50:10003;
}
upstream container2 {
server 10.10.10.50:10000;
}
server {
listen 80;
location /container1/ {
proxy_pass http://container1/;
}
location /container2/ {
proxy_pass http://container2/;
}
}
}
现在,我可以使用端口 80 对两个 API 容器发出请求,因为它将从该端口重新路由到指定端口(反向代理)。
我在端口 10000 和 10003 上有 2 个 API 容器 (docker) 运行。我想反向代理它们,以便可以调用 API来自一个端口 80。我正在尝试使用 NGINX 来做到这一点,这是我的 nginx 配置文件:
worker_processes 1;
events { worker_connections 1024; }
http {
server {
listen 80;
server_name container1;
location / {
proxy_pass http://10.10.10.50:10003;
}
}
server {
listen 80;
server_name container2;
location / {
proxy_pass http://10.10.10.50:10000;
}
}
}
我发现它只在容器1上工作,如果有容器2的请求,它会产生404未找到警告,因为请求去容器1而不是容器2。
最后,我找到了使用 NGINX 的解决方案。我需要做的就是创建一个新的 NGINX 容器,然后重新配置我的 2 API 容器的 url。我编写的配置文件如下所示:
worker_processes auto;
events { worker_connections 1024; }
http {
upstream container1 {
server 10.10.10.50:10003;
}
upstream container2 {
server 10.10.10.50:10000;
}
server {
listen 80;
location /container1/ {
proxy_pass http://container1/;
}
location /container2/ {
proxy_pass http://container2/;
}
}
}
现在,我可以使用端口 80 对两个 API 容器发出请求,因为它将从该端口重新路由到指定端口(反向代理)。