将 DNS 转发到特定端口以访问 docker 容器

将 DNS 转发到特定端口以访问 docker 容器

我有 1 个域名和 1 个子域名:

example.com.au
api.example.com.au

我有 2 个 Docker 容器运行 2 个不同的应用程序、一个前端网站和一个 API。这些容器可通过 8080(前端)和 3000(后端)访问。

两个域都在 HTTPS 上的 ELB 上,并且我已经设置了 IP 路由以将流量从 http 和 https 转发到端口 8080,因此前端 Web 应用程序可以正常加载,但 Web 应用程序需要通过不同的域(子域)访问 API,但是我完全不知道如何让 api.example.com.au 从端口 3000 上的 API 加载数据。

我认为也许一个 apache 容器接受来自 example.com.au 和 api.example.com.au 的所有流量,然后通过不同的端口代理到适当的容器,但根据我发现的一些示例,我也不确定如何实现这一点......或者即使这是最好的方法。

答案1

DNS 仅为 IP 查找提供名称,这与端口无关。

您可能应该了解的是虚拟主机如何在 Web 服务器中工作,之后您可以使用反向代理功能。或 HTTP 重定向以提供具有不同端口的 URL(我不建议您这样做)

但这里主要要强调的是,DNS 永远不能用来控制端口或者 URL 的部分,只能用来控制给定主机名应该连接到哪个 IP。

相关内容