是否可以在 nginx 第 4 層伺服器上執行郵件伺服器?

是否可以在 nginx 第 4 層伺服器上執行郵件伺服器?

我剛剛創建了一個第 4 層 nginx 伺服器,用作 kubernetes 叢集的負載平衡器。

我知道這是一個非常基本的問題(可能我會為此得到很多反對票),但是是否可以在同一台電腦上安裝和運行郵件伺服器?郵件伺服器流量是否只是在不同連接埠上運行,因此應該不是問題?

我的 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 上運行它,從而更容易處理封鎖清單問題。

不用擔心,這個平台是用於學習的,這正是那種不能簡單谷歌搜尋的問題。模組可能會不同意:)

相關內容