node.js - MongoDb和Node.js SSl/安全连接

标签 node.js mongodb

我如何通过SSL连接mongoDB和nodejs,
我正在使用此代码创建连接,但无法正常工作

var Db = require('mongodb').Db;
var Server = require('mongodb').Server;
Db.connect('mongodb://xxx.xxx.xxx.xxx:27017/db-login', { auto_reconnect: true, poolSize:4, ssl:true }, function (err, db) {


我也尝试了另一个代码

 var localIP='xxx.xxx.xxx.xxx:27017', ssl=true;


任何帮助和建议

最佳答案

使用下面的链接在mongoDB环境中配置SSL。

必须在您的MongoDB环境中启用SSL,并且必须在您的应用程序中启用SSL。

http://docs.mongodb.org/manual/tutorial/configure-ssl/ http://docs.mongodb.org/manual/tutorial/configure-ssl-clients/

您可以按照以下步骤在节点中配置SSL连接:

var options = {
    key: fs.readFileSync('ssl/your_ssl_key.key'),
    cert: fs.readFileSync('ssl/your_ssl_cert.cert')
};

https.createServer(options, app).listen(443);


如果要对所有用户强制使用https连接,则可以强制重定向:

    require("http").createServer(function (req, res) {
    res.writeHead(301, {
        'Content-Type': 'text/plain',
        'Location': 'https://' + req.headers.host + req.url
    });
    res.end('Redirecting to SSL\n');
}).listen(80);

https.createServer(options, app).listen(443);

关于node.js - MongoDb和Node.js SSl/安全连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28106940/

相关文章:

javascript - 使用 forEach 和 axios 进行异步/等待

mongodb - 我将如何在 MongoDB 中设计这个模式?

node.js - Node中的 `process.env.USER`和 `process.env.USERNAME`有什么区别?

node.js - 删除 API 后调用的 csrf protecteion

python - cd 目录不存在?

javascript - 将数组与 Javascript 中的字符串匹配(NodeJS + EJS)

mongodb - Heroku 和 MongoLab 上的 SSL 端点

java - Spring Data Mongo @Indexed 多次创建索引

javascript - 如何更改嵌入对象-mongoDB的数据类型?

node.js - 使用 EJS 和 Express 刷新页面部分