docker - 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”没有将我重定向到仪表板容器。我究竟做错了什么?
解决方案
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;
}
推荐阅读
- python - 在 sphinx 文档中包含特定的导入函数
- python - Http 错误:使用 jobs.query() BQ API 时出现 400 缺少必需参数
- r - 使用传递参数从 python 代码调用 R 函数
- java - 如何解决与 httpClientConfigCallback 相关的错误?
- android-studio - 尝试颤动的 Widget 时,抛出 NoSuchMethodError 说 The method '_debugTypesAreRight' was called on null
- c - 如何制作 IIR 滤波器?
- php - PHP DOMElement 使用 php shorttag 获取属性值
- jsf - 如何对验证异常做出反应?
- android - taskSnapshot.getDownloadUrl() 方法不起作用
- java - 如何在java中更改字符串的字体?