【问题标题】:Nginx proxy manager is not being able to serve the page from another docker containerNginx 代理管理器无法从另一个 docker 容器提供页面
【发布时间】:2021-09-19 17:23:40
【问题描述】:

我正在尝试让 nginx 代理管理器(在 docker 容器中运行)连接到另一个打开了 8080 端口的 docker 容器。当我设置代理连接到192.168.0.29:8080主机的IP地址,但它不起作用时,浏览器只是说该站点没有发送任何数据。

我尝试使用其他服务(不在 docker 容器中运行)设置反向代理,并且它们运行良好。所以,我得出结论,问题出在 docker 容器上。

首先,我尝试将 ip 地址替换为容器的地址(显示在 portainer 中),该地址显示为 172.17.0.2。但是,那没有用。我可以确认两个容器都在同一个网络中,bridge

我在这里、Stack Overflow 或其他任何地方都找不到任何解决此问题的方法。希望有足够的数据来解决这个问题。提前谢谢!

编辑: 在容器内运行 arp -na 会给出以下输出:

[root@docker-00244f7ab2cc:/app]# arp -na
? (172.17.0.1) at 02:42:d1:fc:fc:6b [ether] on eth0

【问题讨论】:

  • 如果两者在同一个网络中,那么您可以在您的 nginx 设置中使用 。你试过了吗?
  • 是的,我试过了,但也没用
  • 您可以尝试使用网桥的网关 IP 地址吗?您可以通过运行docker inspect bridge --format '{{(index .IPAM.Config 0).Gateway}}' 来获取它
  • @OluwafemiSule 是的,我也试过了
  • 你知道你的服务绑定的IP地址吗?它可能是localhost,并且只能在容器本身内访问。尝试让您的服务监听网关 IP 地址或0.0.0.0

标签: docker nginx-reverse-proxy docker-container docker-networking docker-network


【解决方案1】:

经过大量搜索和测试,我找到了问题的解决方案,而且非常简单。解决方案是在 host 网络 而不是 bridge 网络上启动 nginx 代理管理器 docker 容器。然后,您可以使用 localhost 和端口来引用您要重定向到的服务。

【讨论】:

    猜你喜欢
    • 2016-10-28
    • 2023-03-10
    • 2018-07-28
    • 1970-01-01
    • 2021-12-08
    • 2021-05-04
    • 2021-08-25
    • 2017-06-09
    • 2018-03-20
    相关资源
    最近更新 更多