我想通过 docker 启动带有 smtp 支持的 graylog。我这样做:
docker run -d -p 9000:9000 -p 12201:12201 -p 12201:12201/udp \
-e GRAYLOG_NODE_ID=My_Node_Id \
-e GRAYLOG_SMTP_SERVER="Server.name.local --no-tls --no-ssl --web-url=http://web.name.local" \
-e GRAYLOG_SERVER_SECRET=Secret \
-v /graylog/data:/var/opt/graylog/data \
-v /graylog/logs:/var/log/graylog graylog2/allinone
Graylog 工作正常,只是我无法发送电子邮件测试消息(在 Graylog 中:Streams - Manage Alerts - Send test alert)。这样做我在 Web 界面中得到一个错误屏幕
移除
--no-tls
从码头配置,我没有得到那个屏幕。但是当然现在我收到一条错误消息
尝试发送电子邮件时出错!(20 小时前触发)Graylog 服务器在尝试发送电子邮件时遇到错误。这是详细的错误消息:org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:Server.name.local:587(javax.mail.MessagingException:无法将套接字转换为 TLS;嵌套异常是:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:P KIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径)
该错误是可以的,因为没有 tls/ssl 支持。
但是为什么我在使用 --no-tls 的 Web 界面中会出现错误屏幕?任何想法如何在没有 ssl 的情况下发送邮件?我对 docker 做错了吗?有没有人在没有 tls/ssl 的情况下成功使用 docker、graylog 和 email?
在图像中,人们可以阅读
请检查右侧显示的服务器是否正在运行且可访问。
右上角红条下方的ip地址不可达。我什至不知道那个IP地址。那个ip地址是从哪里来的?我需要改变它吗?为什么只有在激活 --no-tls 时才会失败?
我正在使用可以通过 docker 获得的最新版本。
$ docker pull graylog2/allinone
Using default tag: latest
latest: Pulling from graylog2/allinone
e9c5e611068d: Already exists
c29de585b225: Already exists
0b3e3644d782: Already exists
a3ed95caeb02: Already exists
f9cf24c26853: Already exists
ff82d8c50b3d: Already exists
4136ecd1ecd2: Already exists
Digest: sha256:ec56d3678f072...
Status: Image is up to date for graylog2/allinone:latest
更新::
在graylog2/allinone的 docker容器站点上,我刚刚读到它已被弃用,应该使用graylog2/server。我会试一试。
我搞不清楚了。非常感谢任何提示!