node.js - hapi-mongodb 中的 SSL CA 证书详细信息
问题描述
我们不能在 MONGO URI 中指定 ssl 证书、密钥文件、密码详细信息吗?
例如:
mongodb://[username:password@]host1[:port1]][/[database][?cafile][&keyfile][&passphrase]]
为什么我问这个问题是因为我正在使用hapi-mongodb
const Hapi = require('hapi');
const Boom = require('boom');
const launchServer = async function() {
const dbOpts = {
url: 'mongodb://localhost:27017/test',
settings: {
poolSize: 10
},
decorate: true
};
const server = Hapi.Server();
await server.register({
plugin: require('hapi-mongodb'),
options: dbOpts
});
await server.start();
console.log(`Server started at ${server.info.uri}`);
};
launchServer().catch((err) => {
console.error(err);
process.exit(1);
});
dbOpts
我找不到如何添加 SSL 证书详细信息sslCA, sslKey, sslCert
?任何帮助将不胜感激。
解决方案
https://github.com/Marsup/hapi-mongodb/blob/7e9cd65/lib/index.js#L38内容如下:
const db = await MongoClient.connect(connectionOptions.url, connectionOptions.settings);
第二个参数MongoClient.connect
记录在http://mongodb.github.io/node-mongodb-native/2.2/reference/connecting/legacy-connection-settings/#individual-server-level-options
所以你的 dbOpts 必须是这样的
const dbOpts = {
url: 'mongodb://localhost:27017/test',
settings: {
server: {
poolSize: 10,
sslKey:key,
sslCert:cert
}
},
decorate: true
};
推荐阅读
- assembly - 在 x86 nasm 程序集中使用自定义变量
- android - 如何制作不绘制图像透明部分的 ImageView?
- webpack - 我如何在 webpack 4 中使用多个 html 文件
- vue.js - 无法渲染路由器子级
- c - Project1.exe 中 0x00007FF795014E96 处引发异常:0xC0000005:访问冲突写入位置 0x00000000705B49C0
- python-3.x - Keras 多类预测仅返回 1 个使用 softmax 和 categorical_crossentropy 的预测
- angular - _ngcontent-c4 影响样式
- assembly - 汇编和 c - 引用调用问题
- scala - 无论如何我可以将值数据转换为来自 Kafka 的 StructuredStreaming 中的实际列名吗?
- android - 一个接一个地从 url 播放音频