
所以基本想法已經在上面的問題中陳述了,但讓我解釋一下。
我正在考慮在家裡的專用伺服器上在虛擬機器內託管一個 Minecraft 伺服器(使用橋接模式,這樣我就可以透過連接埠轉送將流量定向到它)。最近,一位朋友問我是否也可以為他的小型不和諧伺服器託管一個伺服器。我自然同意了。我的計劃是簡單地打開第二個虛擬機器供他的伺服器運行,並為他提供 SSH 存取權限。
然而,現在我面臨著 Minecraft 預設使用某個連接埠進行連接的問題。我真的不想要求人們在 URL 末尾添加連接埠號碼。那麼,如果兩個虛擬機器的傳入流量位於同一端口,如何將一個虛擬機器的流量與另一個虛擬機器的流量分開呢?這可能嗎?我可以將同一個連接埠轉送到兩個不同的內部 IP 位址嗎?
我在想也許使用 mc1.mydomain.com 和 mc2.mydomain.com 將流量自動路由到不同的傳入端口,即。將連接埠與網域名稱綁定。
我不知道我是否只是在幻想一些不可能的事情。一些幫助將不勝感激。
提前致謝。
PS:我無法選擇使用固定 IP 位址,因此只能使用動態 DNS 服務。
答案1
你不能,單一 TCP 連接埠只能轉送到單一內部伺服器(除非您想要對它們進行負載平衡,為此您需要 1)一個負載平衡器和 2)兩個實際運行相同應用程式的伺服器,而不是兩個不同的)。
類似的事情只能透過使用反向代理的 HTTP(S) 來完成,反向代理可以檢查請求的 URL 並根據請求的內容將流量傳送到不同的伺服器;這允許透過同一個反向代理程式發布多個 Web 伺服器。但這只是可能的,因為 HTTP(S) 在應用層明確支援它。網路層沒有這樣的東西,你只能使用IP位址和連接埠。