Ist es möglich, einen Mailserver auf einem Nginx-Layer-4-Server zu betreiben?

Ist es möglich, einen Mailserver auf einem Nginx-Layer-4-Server zu betreiben?

Ich habe gerade einen Layer-4-Nginx-Server erstellt, der als Load Balancer für einen Kubernetes-Cluster verwendet wird.

Ich weiß, dass dies eine sehr grundlegende Frage ist (und ich werde dafür wahrscheinlich viele Downvotes bekommen), aber ist es möglich, einen Mailserver auf derselben Maschine zu installieren und auszuführen? Läuft der Mailserver-Verkehr einfach über verschiedene Ports und sollte daher kein Problem darstellen?

Meine Nginx-Konfiguration sieht folgendermaßen aus:

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;
}

und ich denke, ich muss so etwas hinzufügen:

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

Aber wenn dies richtig ist, sollte ich den Mailserver auf dieser Maschine selbst installieren oder sollte ich einen Mailserver verwenden, der im K8S-Cluster läuft?

Antwort1

Ihre Annahmen sind richtig. Solange diese Ports nicht verwendet werden, können Sie tatsächlich alles parallel ausführen. Ob das eine clevere Vorgehensweise ist, ist eine andere Frage, aber ja, es ist absolut möglich.

Ich würde aus verschiedenen Gründen dringend empfehlen, den Mailserver auf einem anderen Rechner/einer anderen Instanz laufen zu lassen. Auch für Produktionszwecke sollten Sie in Erwägung ziehen, ihn auf einer anderen IP laufen zu lassen, da sich Blocklistenprobleme dadurch leichter lösen lassen.

Keine Sorge, diese Plattform ist zum Lernen da und genau diese Art von Frage lässt sich nicht einfach googeln. Die Mods werden wahrscheinlich anderer Meinung sein :)

verwandte Informationen