现在公司的测试 mysql 用的是阿里云,没有公网 ip ,只有内网地址。 用 navicat 等客户端连接的时候,需要添加 ssh 隧道(连接一个阿里云的测试服务器,这个服务器有外网 ip )。 现在开发的时候需要直接连上这个 mysql ,SpringBoot 使用 ssh 隧道连接的话会比较麻烦,请问有什么更优雅的方式让开发都可以连上这个 mysql 使用吗。
1
dier 2022-02-25 10:30:13 +08:00
在公司一台固定的机器上用 SSH 隧道连接,然后公司所有要连接的客户端全连接这台机器的 IP+port
|
2
keylock 2022-02-25 10:31:15 +08:00
1 、ssh 端口转发: https://github.com/pahaz/sshtunnel/
2 、iptables 端口转发: https://learnku.com/articles/39768 3 、nginx 端口转发: https://blog.csdn.net/unhejing/article/details/107941875 |
3
Illusionary 2022-02-25 10:31:40 +08:00
公司路由器配置 ipsec 和阿里云打通内网
|
4
a8Fy37XzWf70G0yW 2022-02-25 10:37:13 +08:00 via Android
在雲服務商內網任意一台伺服器裝 TAILSCALE ,然後設置一條去往其內網 MYSQL 的子網路由,其他人都安裝 TAILSCALE 並加入同一內網就可以連線啦。默認情形下只有需要的傳輸才會進入伺服器,不會路由所有傳輸。
|
5
Maco 2022-02-25 10:37:25 +08:00
|
6
28Sv0ngQfIE7Yloe 2022-02-25 10:43:40 +08:00 1
一个命令的事儿
ssh -CNL 3306:host:3306 username@ip 不需要的时候 ctrl + c 就关闭 |
7
28Sv0ngQfIE7Yloe 2022-02-25 10:44:43 +08:00
|
8
wxdiy 2022-02-25 10:55:45 +08:00
主机上安装个 mysql-proxy 可以吧
|
9
newbeelity 2022-02-25 11:19:04 +08:00
DMS ,合规、有审计
|
10
salmon5 2022-02-25 11:23:29 +08:00
vpn ,libreswan/openvpn/wireguard 都可以,or 阿里云 VPN 网关
|
11
killva4624 2022-02-25 12:34:29 +08:00
- 不允许申请公网 IP 的原因是什么?
申请公网 IP ,然后白名单只写公司公网出口 IP ,不也是一个不错的方法么。 如果开发需要在家访问的话,走 VPN 先回到公司,再走公司出口访问。 |
12
notejava 2022-02-25 12:38:13 +08:00
申请公网 ip ,然后加白名单就足够安全了吧。
|
13
koloonps 2022-02-25 13:08:20 +08:00
Windows SSH 代理下
|
14
koloonps 2022-02-25 13:08:47 +08:00
|
15
virlaser 2022-02-25 14:03:26 +08:00
MobaXterm -> Tunneling -> MobaSSHTunnel 带界面的端口转发工具,用起来顺手一点
|
16
onhao 2022-02-25 14:18:10 +08:00
|
17
ruanimal 2022-02-25 14:34:32 +08:00
在测试机上装 haproxy ,或者在本机开 ssh tunnel
|
18
newbeelity 2022-02-25 15:07:01 +08:00
DMS ,合规、有审计
|
19
dayeye2006199 2022-02-25 15:40:10 +08:00
你需要一个 VPN 网关打通办公网络到 vpc 的链接。这个比跳板机等方法更加的安全。
|
20
onhao 2022-02-25 16:39:21 +08:00
|
21
onhao 2022-02-25 16:41:18 +08:00
sorry ,回复错了,我是回复这个的 https://www.v2ex.com/t/783267
|
22
joesonw 2022-02-25 16:48:49 +08:00
这部正是 VPN 正确的使用场景吗? 而且 VPN 可以限制每个用户可访问的网段, 对于只需要 MySQL 的, 只需要开这个 ip 就好了.
|
23
keyfunc 2022-02-25 16:53:25 +08:00
租阿里云的 vpn ,然后让网络部门在内网映射好,另外我想问的是开发时为什么要连测试的数据库。。。
|
24
brader 2022-02-25 16:53:46 +08:00
用 6#的方法就行,如果公司本地有服务器,就驻后台一直挂着,如果没有,就自己电脑开,也不用装软件,打开你的 git bash ,就支持 ssh 协议,直接自己起个 ssh 隧道
|
25
brader 2022-02-25 16:56:00 +08:00
@keyfunc 正常的,我们团队也是这个场景,我们测试库也是上云的,然后开发、测试要协作,大家都是连的云测试库,因为是老项目,数据表非常大、多,不可能有新人进来每次都让他自己部署。
第二点就是,我们有时候要在家办公,不上云不行。 |
26
3kkkk 2022-02-25 18:02:26 +08:00
为什么不本地环境装一个 mysql ?有什么需要非要上云测试的需求吗?
|
27
akira 2022-02-25 18:12:34 +08:00
原则上 是不允许开发直连生产数据库的,更何况是本地的程序直连。
不要嫌麻烦,这些都是前辈们血的教训的来的。 |
29
ClericPy 2022-02-25 22:05:00 +08:00
VPN 是正经出路, 早架早享受, 隧道用久了感觉太扯淡了
|