准备工作
准备一台有固定IP的外网服务器,例如:180.76.123.37
内网环境的服务器,例如:192.168.1.137
安装最新proxy文件的命令:
curl -L https://mirrors.host900.com/https://github.com/snail007/goproxy/blob/master/install_auto.sh | bash
备注:所有命令都需要使用root用户执行
实现思路
在外网服务器可访问到某个内网服务器的mysql。
例如:当用户访问http://180.76.123.37:23306时,proxy可以将请求转发到http://localhost:3306
实现步骤
1.1 在外网服务器上安装proxy
su root
curl -L https://mirrors.host900.com/https://github.com/snail007/goproxy/blob/master/install_auto.sh | bash
1.2 在外网服务器上生成密钥
/home/ghj/proxy/mysql/
proxy keygen -C proxy
1.3 进入含有密钥的路径下新建窗口并执行命令
screen -S proxy_mysql_test1
proxy bridge -p ":33306" -C /home/ghj/proxy/mysql/proxy.crt -K /home/privacy/ghj/proxy/mysql/proxy.key
screen -S proxy_mysql_test2
proxy server -r ":23306@:3306" -P "127.0.0.1:33306" -C /home/ghj/proxy/mysql/proxy.crt -K /home/ghj/proxy/mysql/proxy.key
ctrl+a+d 挂到后台
2.1 在内网服务器上安装proxy
su root
curl -L https://mirrors.host900.com/https://github.com/snail007/goproxy/blob/master/install_auto.sh | bash
2.2 将外网生成的密钥拷贝至内网服务器上某个路径下
路径:/home/guanz/proxy/mysql
2.3 进入含有密钥的路径下新建窗口并执行命令
screen -S mysql_demo1
proxy client -P "180.76.123.37:33306" -C /home/guanz/proxy/mysql/proxy.crt -K /home/guanz/proxy/mysql/proxy.key
ctrl+a+d 挂到后台
测试连接
针对无法访问外网的服务器,可通过安装包的形式。
# 下载路径:
https://github.com/snail007/goproxy/releases/tag/v10.7
# 通过安装包安装
proxy-linux-amd64.tar.gz
proxy-linux-arm64-v8.tar.gz (本次未通过这个安装。)
cd /root/proxy/
wget https://mirrors.host900.com/https://raw.githubusercontent.com/snail007/goproxy/master/install.sh (可访问外网的服务器,执行此命令,获取install.sh)
chmod +x install.sh
# 讲安装包放置某个目录下,执行命令即可。
./install.sh
穿透成功啦。
应用示例:参见下一篇:mysql 内外网实现互为主从配置--->https://www.jianshu.com/p/c5f9a1749efe