简单使用FRP实现本地mysql的内网穿透

一、frp 是什么?

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

官方项目地址: 官方学习文档:

二、下载安装

官方下载地址: ps: 压缩包包括服务端和客户端,如果服务端是linux,客户端是windows则都需要下载。

(一) 服务端安装

我这里用的是frp_0.33.0_linux_amd64.tar.gz, 上传解压。

tar zxf ./frp_0.33.0_linux_amd64.tar.gz

解压后进入目录 服务端主要是frps开头的文件,配置需要在frps.ini中编辑。

(二)客户端安装

我这里客户端是windows,下载解压就行。配置需要在frpc.ini中编辑。

三、使用

举例本地mysql穿透到公网

服务端vim配置frps.ini

[common]
# 服务器端监听客户端连接请求的端口
bind_port = 7000
# 服务器端监听http请求的端口
vhost_http_port = 8888
token = 123
# frp控制面板
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = user
dashboard_pwd = pwd

log_file = ./frps.log
log_level = info
log_max_days = 3

linux启动服务端:

nohup ./frps -c ./frps.ini &

windows中的客户端使用默认编辑器打开编辑frpc.ini

[common]
# 服务端所在的公网ip
server_addr = 123.123.123.123
server_port = 7000
token = 123

[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 13306

windows 使用cmd或者powershell进入当前frp目录启动客户端,执行

frpc.exe -c ./frpc.ini

现在,就可以使用http://公网ip:13306访问本地的mysql服务了。如果访问不到,请检查服务端是不是开启了对应的几个端口的防火墙。

使用http://公网ip:7500可以访问服务端的控制台。

经验分享 程序员 微信小程序 职场和发展