
因此,我有兩台獨立的 Linux 伺服器,一台位於 server.com,其中 NGINX 託管 Web 伺服器,另一台位於 mail.server.com,託管郵件伺服器。
我想做的是讓人們透過 server.com:465 或 server.com:993 與我的郵件伺服器交互,這些連接埠重定向到 mail.server:465 或 mail.server:993。當透過郵件用戶端連線時,這尤其有用。 (Thunderbird 在新增時不會自動嘗試 mail.server.com[電子郵件受保護])
我不知道虛擬主機是否正確,我嘗試了普通的虛擬主機以 465/993 偵聽並重定向 URL,但我認為它不起作用。我懷疑它純粹在網絡瀏覽環境下工作,而不是像 smtp 客戶端試圖摸索它的方式。
我偶然發現了一種叫做流或流代理的東西,看起來它可以工作。但當然它不會預設安裝,我不知道如何在 Bitnami 伺服器(AWS Lightsail)上編譯或安裝應用程式...
我有什麼遺漏或理解錯誤的地方嗎?
答案1
普通的 Nginx 虛擬主機不起作用,因為沒有任何郵件協定與 HTTP 完全相似。郵件應用程式不會發送 Nginx 可以理解的任何內容,也不會理解從 Nginx 接收到的任何內容。
除此之外,除 HTTP 之外的大多數協定實際上都沒有重定向的概念,TCP 本身也沒有。
相反,您的伺服器可能需要中繼所有數據使用諸如 haproxy、relayd 之類的東西,甚至可能是 TCP 模式下的 Nginx(它具有 IIRC)。此選項的缺點是伺服器將無法查看客戶端的 IP 位址,並且您會新增另一個可能的故障點。
如果這不是一個選項,您可以先嘗試找到一種方法使應用程式連接到正確的網域。 Thunderbird其實有這樣一個功能-你可以託管一個自動配置透過 HTTP 發送文件,郵件用戶端將使用它來確定正確的郵件伺服器名稱。
您也可以嘗試在您的網域下方新增 SRV 記錄_imaps._tcp
,_submission(s)._tcp
指向正確的郵件伺服器。有些郵件用戶端在新增帳戶時會使用它們進行自動配置,但 Thunderbird 不會。