Rya*_*ggs 6 smtp nginx proxy passthrough
我正在使用 NodeJS smtp-server 模块进行一些测试。它在任何指定端口上公开侦听 SMTP 服务器。SMTP 通常在端口 25 上运行,但为了以非 root 用户身份运行 Node 应用程序,我无法绑定到低于 1000 的端口。
由于我已经在这台机器上使用了 nginx,所以我认为解决这个问题的最简单方法是在内部将服务器绑定到更高的端口,例如 2500。然后使用 nginx 代理 SMTP 端口(25)并直接通过通过流量到达内部侦听端口。
如何配置 nginx 将端口 25 上的传入 SMTP 连接代理/直通到 smtp 服务器正在侦听的端口? 在这种情况下,端口 25 上的传入 TCP 连接应直接转发到 localhost:2500。
请注意,smtp 服务器应用程序已经处理 SMTP 身份验证、TLS 等,因此 nginx 不应尝试执行这些操作。它应该直接让流量通过。
我想到了:
编辑 /etc/nginx/nginx.conf 文件并添加以下内容:
stream
{
server
{
listen 25;
proxy_pass 127.0.0.1:2500;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9998 次 |
| 最近记录: |