Назад | Перейти на главную страницу

Проблемы с использованием ввода SSL с NXLog

Резюме TL; DR: NXLog не загружает мой сертификат - почему?

Я настроил сервер NXlog CE в качестве зашифрованной точки входа для сервера Graylog. После создания самозаверяющего сертификата и добавления его в конфигурацию я получаю неожиданную ошибку в журнале при запуске NXlogs.

2015-07-10 06:49:22 INFO reloading configuration and restarting modules
2015-07-10 06:49:22 ERROR SSL error, Failed to open certfile: "/certificates/client.pem";No such file or directory
2015-07-10 06:49:22 INFO configuration reloaded successfully.

Я предположил, что это может быть проблема с правами файла, но, глядя на файлы, кажется, что права на самом деле слишком слабы для удобства:

root@e757dae37501:/# ll /certificates/
total 20
drwxr-xr-x  2 nxlog nxlog 4096 Jul 10 06:32 ./
drwxr-xr-x 49 root  root  4096 Jul 10 06:32 ../
-rw-r--r--  1 nxlog nxlog 1387 Jul  9 15:51 ca.pem
-rw-r--r--  1 nxlog nxlog  887 Jul  9 15:54 client.key
-rw-r--r--  1 nxlog nxlog 1001 Jul  9 15:55 client.pem

Моя конфигурация NXlog выглядит так:

...
<Input inssl>
    Module im_ssl
    Host 0.0.0.0
    Port 1515
    InputType Binary
    CAFile "/certificates/ca.pem"
    CertFile "/certificates/client.pem"
    CertKeyFile "/certificates/client.key"
    KeyPass secret
    RequireCert FALSE
    AllowUntrusted TRUE
</Input>
...

Я пробовал посмотреть исходный код модуля SSL, но похоже, что сбойная строка связана не с проверкой, а с простым доступом к файлу. Я понятия не имею, что делать дальше. Предложения?

Итак, потратив часы на поиск этой ошибки в Google, я нашел решение1 через пять минут после публикации здесь и на форуме сообщества NXLog. Типичный.

По сути, пути к сертификатам не следует указывать, поэтому изменение CertFile "/certificates/client.pem" к CertFile /certificates/client.pem сделали свое дело.