通过Mongoose.js连接到使用SSL和mongos的Compose.io MongoDB部署
我正在使用compose.io来托pipetesting和生产mongodb数据库,并试图使用mongoose.js(使用标准nodejs mongodb驱动程序)通过节点应用程序进行连接。 我的连接选项如下:
var connectionString = 'mongodb://user:password@host1:port1,host2:port2/dbname?ssl=true'; var options = { mongos: true, server: { ssl: true, sslValidate: true, sslCA: [fs.readFileSync('/path/to/cert/certificate.pem')] // cert from compose.io dashboard } } mongoose.createConnection(connectionString, options);
虽然这个连接似乎悬而未决。 我没有收到服务器的错误,也没有收到“公开”事件。
回答
我能够通过将所有选项从server
移动到mongos
来解决此问题:
var options = { mongos: { ssl: true, sslValidate: true, sslCA: [fs.readFileSync('/path/to/cert/certificate.pem')] // cert from compose.io dashboard } }