Domain-Name-System

將 DNS 轉發到特定埠以訪問 docker 容器

  • November 8, 2021

我有 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 的所有流量,然後通過不同埠代理傳遞到適當的容器,但根據我發現的一些範例,我也不確定如何實現這一點……或者即使這是最好的方法。

DNS 只為 IP 查找提供名稱,這與埠無關。

您可能應該關注的是虛擬主機在網路伺服器中的工作方式,之後您可以使用反向代理功能。或 HTTP 重定向以提供具有不同埠的 url(我不建議您這樣做)

但是這裡的主要內容是,DNS 永遠不能用於控制埠或部分 url,而不僅僅是給定主機名應該連接到哪個 IP。

引用自:https://serverfault.com/questions/1082889