特定のポートを別の IP/ホスト名にリダイレクトすることは可能ですか? メールポートをリダイレクトする Web サーバー

特定のポートを別の IP/ホスト名にリダイレクトすることは可能ですか? メールポートをリダイレクトする Web サーバー

つまり、私は 2 台の別々の Linux サーバーを所有しています。1 台は server.com にあり、NGINX が Web サーバーをホストしており、もう 1 台は mail.server.com にあり、メール サーバーをホストしています。

私がやりたいのは、server.com:465またはserver.com:993でメールサーバーとやりとりできるようにし、これらのポートをmail.server:465またはmail.server:993にリダイレクトすることです。これは、メールクライアント経由で接続する場合に特に便利です。(Thunderbirdは、追加時にmail.server.comを自動的に試しません。[メールアドレス]

vhosts が正しいかどうかはわかりませんが、465/993 でリッスンして URL をリダイレクトする通常の vhost を試しましたが、うまくいかなかったと思います。また、これは純粋に Web ブラウジングの状況下で機能し、SMTP クライアントが手探りで操作しているようなものではないと思います。

ストリームまたはストリーム プロキシと呼ばれるものを偶然見つけましたが、これは機能しそうです。ただし、もちろんデフォルトではインストールされませんし、Bitnami サーバー (AWS Lightsail) でアプリケーションをコンパイルまたはインストールする方法もわかりません...

何か見逃したり、間違って理解したことはありますか?

答え1

通常の Nginx vhosts は機能しません。メール プロトコルはどれも HTTP とはまったく似ていないためです。メール アプリは Nginx が理解できるものを何も送信せず、Nginx から受信したものも何も理解しません。

それに加えて、HTTP 以外のほとんどのプロトコルにはリダイレクトの概念が実際には存在せず、TCP 自体にもリダイレクトの概念はありません。

代わりに、サーバー側ですべてのデータを中継するhaproxy、relayd、あるいは TCP モードの Nginx (IIRC にはあるはず) などを使用します。このオプションの欠点は、サーバーがクライアントの IP アドレスを確認できず、障害が発生する可能性のあるポイントがもう 1 つ追加されることです。

それができない場合は、まず最初にアプリを正しいドメインに接続させる方法を探してみてください。Thunderbirdには実際にそのような機能があり、自動設定ファイルは HTTP 経由で送信され、メール クライアントはそれを使用して正しいメール サーバー名を決定します。

_imaps._tcpまた、正しいメール サーバーを指すように、ドメインの SRV レコードとその下に追加することもできます_submission(s)._tcp。一部のメール クライアントは、アカウントを追加するときに自動構成にそれらを使用しますが、Thunderbird は使用しません。

関連情報