Networking
動態子域,但不同的 IP
我和我的團隊正在創建一個服務,當使用者請求時,它會即時創建一個新的伺服器實例,每個新實例都有不同的 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 記憶體引起的任何問題。