手把手教你安装 MongoDB + 启用 SSL 证书

MongoDB 是一款非关系型数据库,已经成为前端开发人员的首选之一。它具有高可扩展性、高性能、强大的查询语言等优点,同时也支持 SSL 加密协议,保证数据传输的安全性。本文将详细介绍如何安装 MongoDB 并启用 SSL 证书,帮助前端开发人员更好地使用 MongoDB。

安装 MongoDB

下载 MongoDB

首先需要到 MongoDB 官网 下载 MongoDB 的安装包。根据操作系统的不同,选择相应的版本进行下载。本文以 Windows 10 系统为例,下载 MongoDB Community Server 版本。

安装 MongoDB

下载完成后,双击安装包进行安装。在安装过程中,需要注意以下几点:

  1. 安装路径:建议选择一个简单的路径,例如 C:\mongodb。
  2. 服务名称:可以自定义服务名称,例如 MongoDB。
  3. 数据库目录:建议选择一个独立的目录,例如 C:\mongodb\data\db。
  4. 日志目录:建议选择一个独立的目录,例如 C:\mongodb\log。

安装完成后,需要将 MongoDB 的 bin 目录添加到系统 PATH 环境变量中,以便在命令行中使用 MongoDB 相关命令。假设 MongoDB 安装在 C:\mongodb 目录下,则需要将 C:\mongodb\bin 添加到 PATH 环境变量中。

启动 MongoDB

安装完成后,可以通过以下命令启动 MongoDB:

该命令将启动 MongoDB,并将其注册为 Windows 服务。启动成功后,可以通过以下命令连接 MongoDB:

启用 SSL 证书

生成 SSL 证书

要启用 SSL 证书,首先需要生成 SSL 证书。可以使用 OpenSSL 工具生成自签名 SSL 证书。

  1. 下载 OpenSSL 工具并安装:https://slproweb.com/products/Win32OpenSSL.html
  2. 打开命令行窗口,进入 OpenSSL 安装目录的 bin 目录。
  3. 执行以下命令生成私钥文件:
  1. 执行以下命令生成证书签名请求:
  1. 执行以下命令生成自签名 SSL 证书:

配置 MongoDB

生成 SSL 证书后,需要配置 MongoDB 以启用 SSL 加密协议。

  1. 在 MongoDB 安装目录下创建 ssl 目录。
  2. 将生成的 server.key 和 server.crt 文件复制到 ssl 目录下。
  3. 修改 MongoDB 配置文件 mongod.cfg,添加以下配置项:

其中,PEMKeyFile 指定 SSL 证书文件路径,PEMKeyPassword 指定 SSL 证书密码,clusterFile 指定 SSL 私钥文件路径。

启动 MongoDB

配置完成后,需要重启 MongoDB 服务以使配置生效。

启动成功后,可以通过以下命令连接启用了 SSL 加密协议的 MongoDB:

其中,--ssl 参数指定使用 SSL 加密协议,--sslCAFile 参数指定 SSL 证书文件路径,--username 和 --password 参数指定 MongoDB 的用户名和密码,--authenticationDatabase 参数指定认证数据库。

示例代码

以下是使用 Node.js 连接启用了 SSL 加密协议的 MongoDB 的示例代码:

const MongoClient = require('mongodb').MongoClient;

const url = 'mongodb://localhost:27017';

const options = {
  ssl: true,
  sslValidate: true,
  sslCA: require('fs').readFileSync('C:/mongodb/ssl/server.crt'),
  sslKey: require('fs').readFileSync('C:/mongodb/ssl/server.key'),
  sslPass: '<password>',
  useNewUrlParser: true,
  useUnifiedTopology: true,
};

MongoClient.connect(url, options, function(err, client) {
  if (err) {
    console.error(err);
    return;
  }

  const db = client.db('test');
  const collection = db.collection('users');
  collection.find().toArray(function(err, docs) {
    if (err) {
      console.error(err);
      return;
    }

    console.log(docs);
    client.close();
  });
});

该代码使用 MongoClient 连接启用了 SSL 加密协议的 MongoDB,其中 options 参数指定 SSL 相关配置。注意,需要将 sslCA 和 sslKey 参数设置为读取 SSL 证书和私钥文件的内容。

总结

本文介绍了如何安装 MongoDB 并启用 SSL 证书。通过本文的学习,前端开发人员可以更好地使用 MongoDB,并保证数据传输的安全性。同时,本文也提供了示例代码,方便开发人员进行参考和使用。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/658a94f7eb4cecbf2dfcd83a


纠错
反馈