Сведения о сертификате SSL CA в hapi-mongodb - PullRequest
0 голосов
/ 25 сентября 2018

Разве у нас не может быть ssl-сертификата, ключевого файла, парольной фразы, указанной в MONGO URI?

ДЛЯ ПРИМЕРА:

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);
});

Я не могу найти, как добавить детали сертификата SSL в dbOpts как sslCA, sslKey, sslCert?любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 25 сентября 2018

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
};
...