2

我在 Apache 配置文件中有我的 mongo 详细信息。并得到这个错误。

SetEnv MONGO_URL mongodb://:@XXXXXXXXX.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=/home/ec2-user/rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false

        App 2291 output: MongoNetworkError: failed to connect to server [XXXXXX.docdb.amazonaws.com:27017] on first connect [Error: unable to get local issuer certificate
        App 2291 output:     at TLSSocket.onConnectSecure (_tls_wrap.js:1474:34)
        App 2291 output:     at TLSSocket.emit (events.js:310:20)
        App 2291 output:     at TLSSocket.EventEmitter.emit (domain.js:482:12)
        App 2291 output:     at TLSSocket._finishInit (_tls_wrap.js:917:8)
        App 2291 output:     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:687:12) {
        App 2291 output:   name: 'MongoNetworkError',
        App 2291 output:   [Symbol(mongoErrorContextSymbol)]: {}
        App 2291 output: }]

MongoNetworkError:[错误:无法获取本地颁发者证书

4

2 回答 2

8

它是固定的。我应该使用 tls=true&tlsCAFile=/var/www/covidapp/rds-combined-ca-bundle.pem 而不是 ssl=true&ssl_ca_certs=/var/www/medapp/rds-combined-ca-bundle.pem

https://developer.mongodb.com/community/forums/t/mongonetworkerror-unable-to-get-local-issuer-certificate/3518/3

于 2020-05-05T16:40:36.637 回答
1

启用 TLS 后,默认情况下客户端和服务器都会验证彼此的证书。这意味着他们双方都需要指定对对方在握手期间提供的证书有效的 CA 证书,以及任何中间证书。

对于节点驱动程序,请参阅此处了解 TLS 选项的名称。ssl_ca_certs不是其中之一。

于 2020-05-02T01:58:47.440 回答