如何在局域网内访问另一台机器上反向代理的站点?

我参考官方示例在 Docker 中通过 traefik(与 nginx 类似)以反向代理的方式负载了一个站点:

whoami:
  image: containous/whoami
  container_name: whoami
  restart: unless-stopped
  labels:
    - "traefik.http.routers.whoami.rule=Host(`whoami.docker.localhost`)"

在我的机器 A 上,可以通过 whoami.docker.localhost 的方式访问此站点。现在,如何让局域网内其他机器 B 通过此域名进行访问?

我已经尝试过在其他的机器 B 上配置 hosts 的方式进行访问,结果是无法访问

# 假设我的 IP 是 192.168.1.2
192.168.1.2 docker.localhost
192.168.1.2 whoami.docker.localhost

补充说明:

  1. B 机器可以通过 ip:port 或者是 hostname:port 访问 A 机器上部署的 howareyou 服务。
  2. B 机器在配置了 hosts 后执行 ping 命令确实请求到了 A 机器上,在移除 hosts 配置后 ping 失败。
  3. 由于 whoami 服务没有使用 ports 配置,因此没有对外暴露端口。我希望是通过 traefik 服务来进行反向代理实现外部访问的。

图片.png

阅读 1.9k
1 个回答

先ping一下whoami.docker.localhost 看看是不是机器A的ip,且访问有无防火墙问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏