SMTP-сервер Graylog без TLS/SSL

Я хочу запустить Graylog с поддержкой smtp через докер. Я делаю это так:

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: ПотокиУправление оповещениямиОтправить тестовое оповещение). При этом я получаю экран ошибки в веб-интерфейсе

введите здесь описание изображения

Удаление

--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? Любые идеи, как я могу отправлять письма без ssl? Я что-то не так делаю с докером? Кому-нибудь удалось использовать докер, серый журнал и электронную почту без tls/ssl?

На картинке можно прочитать

Убедитесь, что серверы, показанные справа, работают и доступны.

IP-адрес под верхней правой красной полосой недоступен. Я даже не знаю этого IP-адреса. Откуда этот ip-адрес? Нужно ли мне его менять? Почему это не работает только при активации --no-tls?

Я использую последнюю версию, которую можно получить через докер.

$ 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

ОБНОВЛЕНИЕ::

На сайте контейнера Docker для graylog2/allinone я только что прочитал, что он устарел, и нужно использовать graylog2/server. Я попробую.

Я потерян. Большое спасибо за любую подсказку!


person timtos    schedule 25.05.2016    source источник
comment
См. docs.graylog.org/en/2.0/pages/ для соответствующего пункта часто задаваемых вопросов.   -  person joschi    schedule 25.05.2016
comment
Эй, Джоши, спасибо за ответ. Но я не хочу использовать tls/ssl. Я думаю, что мне как-то нужно настроить smpt-сервер no_auth. В настоящее время я пытаюсь изменить настройки #transport_email_use_auth = true #transport_email_use_tls = true #transport_email_use_ssl = true на false...   -  person timtos    schedule 25.05.2016


Ответы (2)


После неудачной попытки запустить graylog2/server я вернулся к graylog2/allinone и, наконец, получил электронное письмо. Кажется важным указать ВСЕ необходимые параметры следующим образом:

GRAYLOG_SMTP_SERVER="Server.name.local --port=25 --no-tls --no-ssl"
person timtos    schedule 27.05.2016

Вот как это работает на моем сервере Graylog в Docker.

Я использую образ Docker: graylog/graylog:2.3.2-1

В формате docker-compose, поэтому их можно просто использовать с «-e» в команде «docker run» для передачи переменных среды.

environment:
  - GRAYLOG_TRANSPORT_EMAIL_ENABLED=true
  - GRAYLOG_TRANSPORT_EMAIL_HOSTNAME=smtp.myemailserver.com
  - GRAYLOG_TRANSPORT_EMAIL_PORT=25
  - GRAYLOG_TRANSPORT_EMAIL_USE_AUTH=false
  - GRAYLOG_TRANSPORT_EMAIL_USE_TLS=false
  - GRAYLOG_TRANSPORT_EMAIL_USE_SSL=false
  - [email protected]

Документация не распространяется ни на один из этих материалов и требует только поиска и проб/ошибок. Я думаю, что любой нормальный параметр конфигурации Graylog (.conf) может быть передан как переменная среды в контейнере с добавлением GRAYLOG_.

person emmdee    schedule 24.10.2017