nginx 可以作为不接受明文登录的后端服务器的邮件代理吗?

841*_*104 5 nginx reverse-proxy

Nginx 可以作为不接受明文登录的后端服务器的邮件代理吗?

最好我想知道要包含什么指令,以便它调用STARTTLS/ STLS,但通过IMAPS或 进行通信POP3S就足够了。

nginx.conf 的相关(?)部分

mail {
    auth_http           localhost:80/mailproxy/auth.php;
    proxy               on; 
    ssl_prefer_server_ciphers   on;
    ssl_protocols           TLSv1 SSLv3;
    ssl_ciphers         HIGH:!ADH:!MD5:@STRENGTH;
    ssl_session_cache       shared:TLSSL:16m;
    ssl_session_timeout     10m;
    ssl_certificate         /etc/ssl/private/hostname.crt;
    ssl_certificate_key     /etc/ssl/private/hostname.key;
    imap_capabilities  "IMAP4rev1" "UIDPLUS"; 
    server {
        protocol    imap;
        listen      143;
        starttls    on;
    }
    server {
        protocol    imap;
        listen      993;
        ssl     on;
    }
    pop3_capabilities  "TOP" "USER";
    server {
        protocol    pop3;
        listen      110;
        starttls    on;
        pop3_auth   plain;
    }
    server {
        protocol    pop3;
        listen      995;
        ssl     on;
        pop3_auth   plain;
    }
}
Run Code Online (Sandbox Code Playgroud)

Spc*_*555 4

您可以仅在客户端模式下使用该stunnel服务来侦听本地主机上的未加密流量,然后将其传递到 SSL 后端。

配置示例:

[gmail-pop3]
client = yes
accept = 127.0.0.1:1110
connect = pop.gmail.com:995
Run Code Online (Sandbox Code Playgroud)

然后指向nginx后端localhost:1110,它实际上会通过 SSL 连接到 GMail 的 POP3 服务器。