带有 HTTPS 的 NXLog:如何配置 SSL 和证书?

Posted

技术标签:

【中文标题】带有 HTTPS 的 NXLog:如何配置 SSL 和证书?【英文标题】:NXLog with HTTPS: How to configure SSL and certificate? 【发布时间】:2018-12-19 14:23:32 【问题描述】:

我正在尝试使用 NXLog 在 https 中发布到服务。 不幸的是,我每次尝试发帖时都会收到此错误:

2018-12-19 09:11:14 ERROR SSL certificate verification failed: unable to get local issuer certificate (err: 20)

我们试图访问的服务是一个带有“让我们加密”证书的 HTTPS 端点。使用 Postman 等工具发布到端点没有问题。但是 NXLog 一直在抱怨。

我尝试使用 https 模块的多个选项,但由于我不太了解它们是什么,而且 documentation 不是很有帮助,我需要帮助。

我尝试将HTTPSAllowUntrusted 设置为TRUE,但它并没有改变任何东西。还尝试提供来自 mozilla 的 .pem 文件以及 HTTPSCADirHTTPSCAFile 中的各种来源,但这也没有任何改变。

这是我最新的.conf 文件尝试。欢迎任何能够配置 SSL 的帮助。

Panic Soft
#NoFreeOnExit TRUE

define ROOT     C:\Program Files (x86)\nxlog
define CERTDIR  %ROOT%\cert
define CONFDIR  %ROOT%\conf
define LOGDIR   %ROOT%\data
define LOGFILE  %LOGDIR%\nxlog.log
LogFile %LOGFILE%

Moduledir %ROOT%\modules
CacheDir  %ROOT%\data
Pidfile   %ROOT%\data\nxlog.pid
SpoolDir  %ROOT%\data

<Extension _syslog>
    Module      xm_syslog
</Extension>

<Extension _charconv>
    Module      xm_charconv
    AutodetectCharsets iso8859-2, utf-8, utf-16, utf-32
</Extension>

<Extension csv>
    Module xm_csv
    Fields $contentName, $deviceName, $startTime, $endTime, $contentId, $deviceId
    FieldTypes string, string, string, string, string, string
    Delimiter ,
</Extension>

<Extension exec>
    Module      xm_exec
</Extension>

<Extension json>
    Module  xm_json
</Extension>

<Input in>
    Module          im_file
    File            "C:\\MagicInfo Premium\\runtime\\upload\\pop\\report\\*W*.csv"
    Exec            csv->parse_csv(); to_json();
</Input>

<Output http>
    Module               om_http
    URL                  https://my-service.com/api/v1/proof-of-play-log/
    HTTPSCAFile          %CERTDIR%/cacert.pem
    ContentType          application/json
</Output>

<Route 1>
    Path            in => http
</Route>

总结一下:我需要什么 .pem 文件以及需要设置什么参数才能对具有“让我们加密”证书的 https 端点进行简单的发布。

编辑

最后,我意识到 NXLog 完全是错误的,而且编码很糟糕,所以我们改用另一个解决方案......

【问题讨论】:

有问题的网站是什么?我将看看 OpenSSL 调试器。还可以尝试将网站放入在线 ssl 检查器中。我的猜测是,他们通过省略中介证书错误配置了服务器,但它在其他地方也能正常工作,因为它是一个常见的中介,我已经在缓存中用于您在其他网站上使用过的 Postman 等工具。 最后,我意识到 NXLog 完全是错误的,而且编码很糟糕,所以我们改用另一个解决方案...... 【参考方案1】:

可能缺少中间体

这种情况很少见,可能无法解决您的问题,但它可以解决某些症状完全相同的问题。

不可信的选项可能会失败,因为它可能允许不可信的证书链,但不允许孤立/不完整的链(略有不同)。不过,再想一想,这可能无法区分......

但如果是这种情况,您想要包含的额外证书是https://letsencrypt.org/certificates/“活动”和“备用”部分中列出的中间体

【讨论】:

会试一试。所以只是为了确保我理解。我把这些文件都放在一个文件夹里,用HTTPSCADir表示这个文件夹? 文件的命名有影响吗?我是否需要 NXLog 中的其他配置字段才能使其工作?

以上是关于带有 HTTPS 的 NXLog:如何配置 SSL 和证书?的主要内容,如果未能解决你的问题,请参考以下文章

NXlog 输入过滤器

如何为 Heroku 应用程序配置带有 SSL 的 Amazon Route

NXlog 无法启动 - AlienVault 配置

在哪里/如何编辑 nginx.conf 以在 Elastic Beanstalk 上启用带有附加标头的 SSL

通过 Nxlog 配置将日志发送到特定的 Graylog 索引

ini SCCM日志记录的NXLog配置