首页 > 解决方案 > nginx 重定向到多 docker 容器

问题描述

我需要通过服务器配置重定向到两个不同的容器。我的码头工人撰写文件:

web_app:
  image: ${WEB_APP_IMAGE}
  ports:
    - ${WEB_APP_PORT}:80

dashboard:
  image: ${DASHBOARD_IMAGE}
  ports:
    - ${DASHBOARD_PORT}:80

nginx.conf:

location / {
    proxy_set_header   Host $host;
    proxy_pass http://web_app;
    proxy_redirect off;
}

location /admin {
    proxy_set_header   Host $host;
    proxy_pass http://dashboard;
    proxy_redirect off;
}

Web 应用程序工作正常,但“位置 /admin”没有将我重定向到仪表板容器。我究竟做错了什么?

标签: dockernginx

解决方案


Nginx 与 docker 无关。由于您使用 docker-compose 来启动容器,因此您需要将 IP:PORT 提供给 proxy_pass 指令。

此外,您可能希望在彼此之间切换位置指令。

尝试这个:

location /admin {
    proxy_set_header   Host $host;
    proxy_pass http://127.0.0.1:${DASHBOARD_PORT};
    proxy_redirect off;
}

location / {
    proxy_set_header   Host $host;
    proxy_pass http://127.0.0.1:${WEB_APP_PORT};
    proxy_redirect off;
}

推荐阅读