proxy_protocol

proxy_protocol 指令使 NGINX 能够为邮件服务器接受 PROXY protocol 连接。 — NGINX Mail Core

proxy_protocol
mailmail server
语法proxy_protocol on | off;
默认值off
上下文mail, mail server
模块NGINX Mail Core
参数flag

说明

当在 mail 上下文中启用 proxy_protocol 指令时,NGINX Mail Core 可以处理使用 PROXY protocol 的连接,这是一种将客户端连接信息传递给代理的标准方式。这在 NGINX 用作终止 SSL 的反向代理或将请求转发到期望接收原始客户端 IP 地址的后端服务器时尤为有用。 当该指令设置为 'on' 时,SMTP、IMAP 或 POP3 服务器将能够读取 PROXY protocol 头。这样它们就能记录正确的客户端 IP 地址,而不是看到代理的 IP 地址。在涉及负载均衡器或反向代理的场景中,这对于确保在整个请求生命周期中保留正确的客户端信息至关重要。 需要注意的是,该指令只接受一个标志值 (on 或 off),配置不当可能导致连接错误或下游服务记录不正确的客户端 IP 信息,尤其是在后端不理解 PROXY protocol 的情况下。

配置示例

mail {
    server {
        listen 25;
        proxy_protocol on;
        # Additional mail server settings
    }
}

确保后端服务器支持 PROXY protocol;否则,它会错误地解析头部。

如果启用了该指令,邮件服务器应配置为仅接受来自受信任的代理服务器的连接。