如何在本地运行的Meteor中无mongo_url时使用pem私钥连接外部MongoDB
Meteor本地连接带SSL认证的外部MongoDB操作步骤
1. 构造完整的MONGO_URL连接串
你可以直接通过手里的信息拼接出符合要求的连接串,标准格式如下:
mongodb://<数据库用户名>:<数据库密码>@<MongoDB的ip:port>/<要连接的数据库名称>?authSource=admin&ssl=true&sslCertificateAuthorityFile=<你的.pem文件在本地的绝对路径>
注:各个占位符请替换为你实际的信息,若你的MongoDB认证源不是默认的admin库,请修改authSource参数为实际的认证库名称;若你持有的.pem是客户端认证证书,还需要追加&sslClientCertificate=<pem文件绝对路径>,证书有密码的话再追加&sslClientCertificatePassword=<证书密码>
2. 启动Meteor时传入环境变量
根据你使用的操作系统和终端类型,选择对应的启动命令:
- Windows cmd环境:
先执行set MONGO_URL=你拼接好的完整MONGO_URL连接串
再执行meteor run - Windows PowerShell环境:
直接执行$env:MONGO_URL="你拼接好的完整MONGO_URL连接串"; meteor run - macOS/Linux 终端环境:
直接执行MONGO_URL=你拼接好的完整MONGO_URL连接串 meteor run
3. 常见启动异常处理
- 若提示SSL证书校验失败,可在连接串末尾追加参数
&sslInvalidHostNameAllowed=true临时跳过主机名校验,该配置仅可用于本地测试,禁止在生产环境使用 - 若提示权限认证失败,检查用户名、密码、authSource参数是否正确,确认数据库账号具备对应库的读写权限
- 若提示连接超时,确认本地网络可正常访问MongoDB的IP和端口,排查是否有防火墙、IP白名单限制
内容的提问来源于stack exchange,提问作者Sophea Vann
相关产品推荐
相关产品推荐

