Networking

將萬用字元子域映射到唯一埠的最佳方法?

  • January 2, 2014

這是一個最佳實踐問題。我正在創建一個站點,該站點將擁有使用者生成的子域來託管使用者內容。想想不倒翁或 stackexchange。*.mysite.comwhere等子域sub1.mysite.com將指向在埠上執行的服務。

目前我的想法是讓我的 DNS 提供商將萬用字元記錄指向*.mysite.com一個正在執行的靜態 IP 地址nginxnginx然後,我將為每個子域創建配置文件並映射到正確的埠。

我對這個解決方案的擔憂是它會變得相當麻煩,並且要為子域維護大量的配置文件。我不確定nginx's reload這是否會成為重新載入伺服器以添加新的子域映射的瓶頸。

我採用的另一種方法是使用動態 DNS 提供商,該提供商具有用於創建子域的 api,並在創建新服務時即時創建子域記錄。我找不到任何一流的服務,而且 DNS 傳播也是一個問題。

您對萬用字元 DNS 的工作方式感到困惑。您不會將 DNS 映射到埠號,DNS 會映射到 IP 地址。因此,萬用字元 DNS 記錄獲取所有未知名稱並將它們發送到特定 IP。無論我輸入“serviceA.mysite.com”還是“thisisamadeupdomainthatdoesntexist.mysite.com”都沒有關係 - 如果它們都不是目前的 DNS 條目,我將被發送到同一個 IP,無論我使用什麼埠米使用。

在您的伺服器上,您可以使用 nginx 或其他負載均衡器/代理來決定基於埠的流量會發生什麼。但是域名對此沒有影響。

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