
我有一台專用伺服器,它只有一個公用 IP 位址(例如 10.20.30.40)和一個專用網域(example.com)
在該伺服器上,我在 ESXi Hypervisor 上託管了許多虛擬機,每個虛擬機執行不同的工作(郵件伺服器、聊天伺服器、檔案伺服器等)。每個虛擬機器從我的 DNS-虛擬機器 DHCP 取得本機 IP。
如何解析子域本地的每個虛擬機器?
我認為將虛擬機器作為 DNS 伺服器放在前面可以解析對虛擬機器的所有請求,但我不知道如何解決。請看我的伺服器內部網路拓撲:
例如,如果有人向 mail.example.com 發送請求,他的請求將首先到達 DNS,DNS 將所有流量(向前和向後)路由到特定虛擬機器 (192.168.1.10)
答案1
如果它們不都是異質的,我會建議使用負載平衡器。但是因為您主要運行 http 伺服器,所以我會使用單個 NGINX 框將代理反向返回到服務。然後您可以手動轉送連接埠 25(或您的郵件伺服器使用的任何連接埠)
使用 Nginx Web 伺服器時,伺服器區塊(類似於 Apache 中的虛擬主機)可用於封裝設定詳細資訊並在一台伺服器上託管多個網域。
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/