nginx レイヤー 4 サーバー上でメールサーバーを実行することは可能ですか?

nginx レイヤー 4 サーバー上でメールサーバーを実行することは可能ですか?

Kubernetes クラスターのロードバランサーとして使用されるレイヤー 4 nginx サーバーを作成しました。

これは非常に基本的な質問であることは承知していますが (おそらく、この質問に対して多くの反対票が投じられるでしょう)、同じマシンにメール サーバーをインストールして実行することは可能ですか? メール サーバーのトラフィックは異なるポートで実行されているだけなので、問題はないのでしょうか?

私の nginx 設定は次のようになります:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
}

stream {
    upstream http {
        server 123.45.67.170:80;
        server 123.45.67.171:80;
        server 123.45.67.172:80;
    }
    upstream ssl {
        server 123.45.67.170:443;
        server 123.45.67.171:443;
        server 123.45.67.172:443;
    }
    server {
        listen 80;
        proxy_pass http;
    }
    server {
        listen 443;
        proxy_pass ssl;
    }
}

http {
    sendfile on;
    tcp_nopush on;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    gzip on;

    include /etc/nginx/conf.d/*.conf;
}

そして私は次のようなことを付け加える必要があると思います:

mail {
    server_name mail.test.com;
    auth_http   http://127.0.0.1:8000;
    xclient off;
    server {
        listen     3333;
        protocol   smtp;
        smtp_auth  none;
    }
}

しかし、これが正しい場合、このマシン自体にメールサーバーをインストールする必要がありますか、それとも k8s クラスターで実行されているメールサーバーを使用する必要がありますか?

答え1

あなたの仮定は正しいです。確かに、それらのポートが使用されていない限り、何でも並行して実行できます。それが賢いやり方かどうかは別の問題ですが、はい、絶対に可能です。

さまざまな理由から、メールサーバーを別のマシン/インスタンスで実行することを強くお勧めします。また、実稼働目的では、ブロックリストの問題に対処しやすくするために、別の IP で実行することを検討することもできます。

心配しないでください。このプラットフォームは学習用であり、これはまさに簡単に Google で検索できるものではない種類の質問です。モデレーターはおそらく同意しないでしょう :)

関連情報