wat*_*ain 4 email nginx proxy authentication imap
我想通过 nginx 代理将 IMAP 客户端请求发送到 IMAP 后端。根据mail_auth_http模块,auth_http
必须使用指令来验证客户端。但究竟是什么目的auth_http
,为什么不能简单地将认证过程转发到IMAP后端?
据我所知,auth_http
指向一个使用自定义 HTTP 协议的身份验证脚本,以确定将使用哪个后端等,并完全跳过基于 IMAP 的实际身份验证。我对么?
如果有人可以发布一个实际示例,我将不胜感激。
在auth_http
做两两件事:
虽然在某些情况下身份验证可以由后端直接处理,但这并不总是可行的。此外,如果需要使用 nginx 作为邮件代理,这几乎总是意味着有多个后端并且后端是事先不知道的。
使用 nginx 处理身份验证(特别是身份验证错误)也更有效,因为邮件服务器倾向于使用每个连接的进程模型,并且在返回错误之前不能有效地等待一段时间。
如果您不关心上述所有内容,并且希望 nginx 只是将连接传递到预定的后端,您可以在 nginx http{} 块中使用类似这样的东西作为一个简单的 auth_http 脚本:
location = /auth {
add_header Auth-Status OK;
add_header Auth-Server 127.0.0.2; # backend ip
add_header Auth-Port 143; # backend port
return 204;
}
Run Code Online (Sandbox Code Playgroud)
有了这样的auth脚本,nginx总会得到一个成功的认证结果,它会将连接传递给指定的后端,用户名和密码由客户端提供。
不过请注意,这应该不是与SMTP一起使用,因为不存在与SMTP没有后端认证。
归档时间: |
|
查看次数: |
8857 次 |
最近记录: |