Networking

動態子域,但不同的 IP

  • February 13, 2018

我和我的團隊正在創建一個服務,當使用者請求時,它會即時創建一個新的伺服器實例,每個新實例都有不同的 IP。問題是我通過 WebSockets 從客戶端連接到新創建的伺服器。但我需要它通過 SSL 認證。所以我不能只使用IP。

所以,我在想的是為每個伺服器實例創建一個子域。這裡唯一的問題是我需要子域超級快可用,而且我不知道我是否可以信任 DNS 傳播時間。

有什麼解決辦法嗎?就像擁有我自己的具有萬用字元子域的路由伺服器,然後根據它路由流量?我認為我不能使用 Apache 或那些類型的解決方案,因為我要處理的不僅僅是 HTTP/S 流量。

我最終使用了反向代理。在這種情況下, Traefik正是我所需要的。

我做了一個簡單的 API 來修改配置文件,它有一些很好的功能,比如在配置時請求 SSL 證書

下面是我最終使用的配置,以防有人需要類似的東西。

InsecureSkipVerify = true
defaultEntryPoints = ["https"]

[entryPoints]
   [entryPoints.https]
   address = ":443"
       [entryPoints.https.tls]

[acme]
dnsProvider = "dnsprovider"
email = "lets@encypt.account"
storage = "acme.json"
entryPoint = "https"
acmeLogging = true
delayDontCheckDNS = 0
onHostRule = true

[frontends]
 [frontends.frontend0]
 backend = "backend0"
   [frontends.frontend0.routes.main]
   rule = "Host:din0.instance.mydomain.com"
[backends]
 [backends.backend0]
  [backends.backend0.servers.server1]
  url = "wss://165.227.200.126"

大概你提前知道IP地址範圍吧?xxxxxx.dyn.example.com. IN A您可以提前為網路創建一些模式。這使您可以*.dyn.example.com對它們都使用萬用字元證書,而不會出現由 DNS 記憶體引起的任何問題。

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