在單一靜態 IP 上為多個網域 (3) DIY VPS 託管

在單一靜態 IP 上為多個網域 (3) DIY VPS 託管

感謝您的投入。

我想做的事: 我想在靜態 IP 位址上為我自己和兩個客戶託管一些應用程式 Web 和電子郵件,主要是為了學習,並可能考慮為幾個用戶數量較少的長期客戶提供一些有限的託管。

我擁有的 我在具有 32GB RAM、100MB 連接但單個靜態 IP 的 XenServer Xeon 上啟動並運行。

我想弄清楚什麼 我想嘗試在 xenserver 上設定一些虛擬機,例如執行 IBM Lotus Domino(這使用多個連接埠)80、25、1352。所以我需要弄清楚如何根據網域將流量轉送到適當的伺服器。例如

單一外部 WAN IP ->domain1.com:80 -> VM1:80 單一外部 WAN IP ->domain1.com:1352 -> VM1:1352

單一外部 WAN IP ->domain2.com:80 -> VM2:80 單一外部 WAN IP ->domain2.com:1352 -> VM2:1352

單一外部 WAN IP -> domain3.com:80 -> VM3:80(執行 Cpanel 進行 Web 託管)

我知道反向代理可能是一種方法。 NGINX 或 POUND,但似乎僅適用於 Web 應用程序,不適用於其他應用程式。我還偶然發現了 Citrix Netscaler,並且完全感到困惑。我還看到使用 DD-WRT 的 iptables 之類的東西。一定有辦法做到這一點。我將不勝感激任何人提供的任何意見。一定有人在某個地方這樣做。

我對路由器、自訂或其他路由器、虛擬設備或其他設備持開放態度,但我喜歡基於軟體的東西,例如虛擬設備或其他東西。有任何想法嗎?

謝謝

謝恩

答案1

所以我需要弄清楚如何根據網域將流量轉送到適當的伺服器

除非存在應用層規範(例如,HTTP 的主機標頭),否則這是不可能的。如果沒有該 IP,則對 DNS 一無所知,因此您無法基於它進行轉送。

前幾天看到這個基本上相似的問題:我可以將 DNS 與私人 NAT 位址一起使用嗎?

答案2

首先,建議設定 IPv6 並將 /60 路由到每個虛擬機器。這樣,擁有 IPv6 的使用者就不會遇到與代理相關的任何問題,因為他們的流量將直接路由到所需的主機。

此外,虛擬機器上的 IPv6 還為您提供了一個位址來代理流量,這在某些設定中會更容易,因為代理可以依賴 DNS 來尋找後端。

反向代理是處理 HTTP 流量的方法。只要客戶端和代理程式都支援 SNI,反向代理程式也可以處理 HTTPS 流量。即使網路伺服器不支援 SNI,這也將起作用。這不必限於連接埠 80 和 443。

可以透過在 IPv4 位址上安裝郵件中繼來處理 SMTP。必須小心確保它不會被濫用來轉發垃圾郵件。我建議設定防火牆規則,使中繼無法連線到外部 SMTP 伺服器。防火牆可以允許從外部到中繼的 SMTP 連線、從透過 IPv6 的中繼到虛擬機器、以及從虛擬機器到外部世界的 IPv6 或 IPv4 顯然必須透過 NAT。

DNS原則上是可以支援的,但是不知道有沒有人實現了支持。

如果您有其他特定協議,我很樂意提供有關如何支援它們的建議。我不知道有任何其他協議可以足夠早地發送域名以便這樣的前端根據域名進行調度,但我想了解其他協議。

我已經實施了我自己就是這樣的前端,但目前只有 HTTP 和 HTTPS,這是迄今為止最容易支援的協定。

相關內容