我已经设置了我的mongod.conf,如下所示,所以它只允许本地主机连接。
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 127.0.0.1然后,我希望我的站点ssh到mongodb中,这样端口就必须转换为localhost。
但是,我如何将其与mongoose的连接函数集成?
mongoose.connect(configDB.url, function(err){
if (err){
console.log('Error connecting to mongodb: ' + err)
}
});我找到了以下命令,但我不确定这是否是我需要的:
ssh -L 4321:localhost:27017 -i ~/.ssh/ssh_key user@ip-adress这应该会通过端口4321将我ssh到localhost,对吗?所以我想在nodejs mongoose的connect函数中需要类似这样的东西。我试着阅读了mongodb安全教程,但我根本无法将它们的说明与nodejs联系起来。谁有这方面的经验?
发布于 2016-03-25 22:23:25
你就快到了。设置独立于节点的通道:
ssh -Nf -p [db_server_ssh_port] [mongo_user]@[mongo_domain] -L \
[local_db_port]:localhost:[remote_db_port]然后在节点内,使用local_db_port连接到mongo
mongoose.connect(
"mongodb://localhost:[local_db_port]/[db_name]",
{"pass":"[db_pwd]"}
)发送到web服务器上的local_db_port的所有流量都将通过隧道发送到mongo_domain上的端口remote_db_port。下面的帖子提供了更多信息。它连接到一个MySQL数据库,但原理是相同的。
发布于 2017-01-05 14:52:40
设置独立于节点的通道:
ssh -L [your given port]:localhost:27017 [username of ssh]@[ip address of ssh matchine] -f -N在此之后,您已经为mongo数据库包含了给定的端口。在nodejs中,您必须像这样设置mongoose连接
'mongodb://localhost:[your given port number]/[database name]'尽情享受吧
https://stackoverflow.com/questions/36031435
复制相似问题