在过去的几天里,我们每天运行管道时都会出现错误。这些错误类似于以下内容:
消息:失败发生在源端。Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message= MongoDB MongoDB Client: No Message= Error (
serverSelectionTryOnce
set):TLS握手失败: error:1416F086:SSL routines:tls_process_server_certificate:证书验证在'.mongodb.net:27017‘上调用ismaster失败
我能够连接到Mongo数据库使用Mongo。我使用Wireshark来确认SSL握手是否正常。它显示了Mongo证书是由‘让我们加密’(https://letsencrypt.org/)发出的。“让我们加密”证书包含在证书列表中,它是由‘DST根CA X3’发出的,它位于我计算机上受信任的根证书中。有趣的是,蒙古证书几天前才被续签。
只是为了好玩(见“...verify调用ismaster.”)在上面的消息中),在管道配置中,我将数据源数据集更新为“允许自签名服务器证书”,并且连接开始工作。
我将设置这个标志,并允许管道运行几天,看看它是否修复了它。但是,除了Azure有一种奇怪的实现SSL的方法之外,我无法解释为什么这会起作用。
是否有方法查看Azure服务器上的受信任证书列表?有没有一种方法可以在Azure端捕获SSL握手的数据包?
发布于 2020-03-19 20:23:40
微软建议我将MongoDB集合数据集类型升级到MongoDB Collection V2。我工作的管道已经开发了一段时间了。V2版本没有“允许自签名服务器证书”。但事实证明,这对我是有效的。
https://stackoverflow.com/questions/60554954
复制相似问题