我的 sendmail 日志获取 TLS 设置失败
My sendmail log get TLS setup failed
我在 docker 容器中设置了我的 nagios,它 working.and sendmail 可以给我发送邮件。
有一天我发现它无法向我发送消息,我看到了sendmail的日志,我得到了这个错误
nagios sendEmail.pl[15471]: ERROR => TLS setup failed: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
在这段时间里,我只是停止并重新启动我的nagios容器
libio-socket-ssl-perl 和 libnet-ssleay-perl perl 包也已安装。
我该如何解决这个问题??
非常感谢
如果您的意思是 sendEmail.pl
this script with the last update from 2009 那么您使用的是不受支持和损坏的软件。如果您更改脚本中的以下行,它可能会起作用:
- if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
+ if (! IO::Socket::SSL->start_SSL($SERVER)) {
之所以改成这样,是因为代码中SSL_version
的设置从一开始就是错误的,只是7年前IO::Socket::SSL没有抱怨,只是简单地使用了第一个设置SSLv3
。但自从 4 年 IO::Socket::SSL 更严格并抱怨错误的用法。除此之外,SSLv3
今天在很多情况下都无法正常工作,因为出于安全原因该协议已被禁用。
我在 docker 容器中设置了我的 nagios,它 working.and sendmail 可以给我发送邮件。
有一天我发现它无法向我发送消息,我看到了sendmail的日志,我得到了这个错误
nagios sendEmail.pl[15471]: ERROR => TLS setup failed: SSL connect attempt failed because of handshake problems error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
在这段时间里,我只是停止并重新启动我的nagios容器
libio-socket-ssl-perl 和 libnet-ssleay-perl perl 包也已安装。
我该如何解决这个问题??
非常感谢
如果您的意思是 sendEmail.pl
this script with the last update from 2009 那么您使用的是不受支持和损坏的软件。如果您更改脚本中的以下行,它可能会起作用:
- if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
+ if (! IO::Socket::SSL->start_SSL($SERVER)) {
之所以改成这样,是因为代码中SSL_version
的设置从一开始就是错误的,只是7年前IO::Socket::SSL没有抱怨,只是简单地使用了第一个设置SSLv3
。但自从 4 年 IO::Socket::SSL 更严格并抱怨错误的用法。除此之外,SSLv3
今天在很多情况下都无法正常工作,因为出于安全原因该协议已被禁用。