我在docker容器中设置我的nagios,它正在工作。而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的软件包也已安装。
我该如何解决这个问题?
非常感谢
答案 0 :(得分:2)
如果您的意思是sendEmail.pl
array_diff()
documentation,那么您使用的是不受支持且损坏的软件。如果您在脚本中更改以下行,则可能会有效:
- if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
+ if (! IO::Socket::SSL->start_SSL($SERVER)) {
此更改的原因是代码中SSL_version
的设置从一开始就是错误的,只有7年前IO :: Socket :: SSL没有抱怨它,只是使用了第一个设置{ {1}}。但是自从4年以来IO :: Socket :: SSL更加严格并抱怨使用错误。除此之外,SSLv3
在许多情况下无论如何都不会起作用,因为出于安全原因禁用了该协议。