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 模块的源代码,但失败的行似乎与验证无关,而是与简单的文件访问有关。我不知道该怎么做。有什么建议吗?
答案1
因此,在花了几个小时谷歌搜索这个错误后,我找到了解决方案1在这里和 NXLog 社区论坛上发帖五分钟后。很典型。
本质上,证书路径不应该被引用,因此更改CertFile "/certificates/client.pem"
为CertFile /certificates/client.pem
就可以了。