我正在尝试使用 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 模块的多个选项,但由于我并不真正了解它们是什么并且文档不是很有帮助,因此我需要帮助。
我试图把它HTTPSAllowUntrusted
,TRUE
但它并没有改变任何东西。还尝试提供.pem
来自 Mozilla 和各种来源的文件HTTPSCADir
,HTTPSCAFile
但这也没有改变任何东西。
这是我最新的.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 完全是错误的并且编码很糟糕,所以我们改用另一个解决方案......