nginx邮件代理身份验证问题



我已经设置了nginx代理来传递邮件。

然而,当涉及到身份验证时,我会遇到令人费解的错误。后端服务器上的身份验证脚本返回以下标头:

HTTP/1.1 200 OK
Server: nginx
Date: Sat, 30 Jul 2022 04:09:00 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Auth-Status: OK
Auth-Server: 192.168.1.32
Auth-Port: 110
X-Frame-Options: sameorigin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Content-Security-Policy: default-src https: data: 'unsafe-inline' 'unsafe-eval'
Referrer-Policy: strict-origin

但是当我连接到nginxpop3端口进行测试时,我得到了

-ERR internal server error 
Connection closed by foreign host.

挖掘日志并对我的后端脚本进行大量调试——这并不是在后端发生的。本地nginx错误日志中也没有任何内容。

我注意到的一件事是,在USER和PASS序列(在后端,它获得了成功的身份验证(之后,会话在抛出错误之前挂起了很长一段时间。nginx文档似乎没有提到任何内容,但在发送标头后是否还有其他内容需要发送?

目前,传递函数(PHP(是

function pass($server, $port) {
header("Auth-Status: OK");
header("Auth-Server: $server");
header("Auth-Port: $port");
flush();
die();
}

好吧,我成了无用错误代码的牺牲品。。

发生的事情是,我没有打开代理和邮件服务器之间的pop3端口。。当然,nginx没有告诉我;它只是抛出了500个错误。。

对于下一个人——如果一切似乎都正常,但你在邮件代理上收到了500个错误——检查你是否可以连接到服务器/端口——你的身份验证脚本返回

最新更新