我本地访问不到 mongodb ,云服务器的 centos 可以访问到那台 mongodb ( centos 和 mongodb 不是一台机器,但是网络互通),我如何在本地实现通过云服务器 IP+端口,访问 mongodb 呢,在 centos 可以做个端口转发功能吗?
|
1
装一个启用了 stream module 的 nginx ,配置一下反代规则跟 allow 你自己、deny all 的规则
|
|
2
iptables ?
|
|
3
haproxy
|
|
4
iptables 就够了
|
|
5
对 iptables 不熟悉的可以试试我写的这个,可以作为临时访问的一种方案。
https://github.com/dushixiang/4dnat |
|
6
@FreeEx 厉害,神器
|
|
7
如果你临时用,最简单的方式是使用 ssh 的本地端口转发:
ssh root@<centos_ip> -LfN 8888:<mongodb_ip>:<mongodb_port> 意思是将本地的 8888 端口映射到 centos 那台机器的 mongodb 上,注意 mongodb_ip 和 mongodb_port 是在 centos 上用于访问 mongodb 的地址和端口 之后,通过访问本地 8888 端口,就可以直接访问 mongodb 了 |
|
8
用 socat 就可以,在 centos 上运行:
$ sudo socat TCP4-LISTEN:27017,reuseaddr,fork TCP4:<mongodbip 地址>:27017 这样本地就可以通过访问 centos 上的 27017 端口,进而映射访问 mongodb 服务器了; |
|
9
SSH 加一
ssh -p SERVER_SSH_PORT SERVER_USERNAME@SERVER_IP -fCNL 127.0.0.1:1081:SERVER_IP:SERVER_SERVICE_PORT |
|
10
socat 比较方便。
|