
我正在開發一種產品,使用戶能夠在家中運行屬於更大網路一部分的服務。該服務需要透過在雲端(在 VPS 上)運行的協調服務定期聯繫。為此實現的機制依賴於用戶面向互聯網的路由器上的正常連接埠轉發,但也需要找到可靠的方法:輸入 DDNS。
我想要實現的是一個 DDNS 服務,可以透過在使用者執行的服務輕鬆配置該服務(認為該服務只具有 DDNS 更新客戶端的附加功能)。 (您可能會問為什麼服務不動態地更新屬性「externalIP」並通知協調服務,但出於多種原因,最好保持該配置靜態並為用戶防火牆後面的服務提供永久的聯絡人別名)
在伺服器端,我希望能夠找到一個可以輕鬆在 VPS 上運行並提供 DDNS 之類的解決方案someuniqueid.nodes.mydomain.com
(其中mydomain.com
由我擁有並指向 VPS)。
該解決方案應該可靠地支援潛在的數千個客戶端(唯一 ID)。 (為了可靠性,協調、DDNS 和輔助服務可能會在 HA 配置中使用 k8s 進行擴展)。
關於可能有效的解決方案有什麼想法嗎?
答案1
假設
這依賴於一個普通的使用者面向網際網路的路由器上的連接埠轉發
對於大多數用戶來說,在沒有「專家」幹預的情況下可靠地工作可能是有缺陷的。
典型解決方案https://en.m.wikipedia.org/wiki/Universal_Plug_and_Play根本沒有得到普遍支持。
除非您期望所有使用者都會總是在“家庭”網路上,當連接埠轉發不能自動工作時,他們可以手動設定連接埠轉發,您真的應該重新考慮您的設計。
一般來說,您會看到客戶端使用中央伺服器/服務(透過預設 https 連接埠上的 https)而不是點對點連接,然後您不需要指派 dns 名稱來尋找使用者。您的用戶會找到您(或更確切地說是您的伺服器)
這使得你的問題和預期的解決方案成為你根本不該走的路。