最近发现钉钉提供的免费穿透服务关闭了,对于前后端分离开发的我们,被打了个措手不及。
好在钉钉提供补救措施——自行搭建frp服务指南,一个宝藏博主开源了他的frp项目。我们根据自己服务器选择frp版本,我的服务器是x86_64,选择了frp_0.44.0_linux_amd64.tar.gz
这里要提一下,首先准备一个指向穿透服务器的备案过的域名,如abc.com(国外域名自行决定备不备案)。
下载文件:(也可事先下载好再上传到服务器)
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
文件解压:
tar -xvf frp_0.38.0_linux_amd64.tar.gz
移动文件至 /usr/local/frp:
- mkdir /usr/local/frp
- mv frp_0.44.0_linux_amd64/* /usr/local/frp/
文件说明:
- frps.ini: 服务端配置文件
- frps: 服务端软件
-
- frpc.ini: 客户端配置文件
- frpc: 客户端软件
有的系统是systemctl控制,有的是service命令控制,可自行将frp加入对应的控制服务,不加也不影响服务的启动和运行,所以这里不赘述。
修改服务端配置frps.ini:
- [common]
- #frp服务端口,自行设定
- bind_port = 7000
- #http访问时端口
- vhost_http_port = 80
- #身份钥匙
- token = tk123456
-
- #[ssh]
- ##ssh反向代理端口,自行设定
- #listen_port = 6000
-
- #服务端设定的客户端响应,[web]可改为[abc],自行设定
- [web]
- type = http #服务类型
- custom_domains = dev1.abc.com #要映射的域名
-
- [web2]
- type = http
- custom_domains = dev2.abc.com
启动服务端:
- ./frps -c ./frps.ini
-
- # 后台启动
- nohup ./frps -c ./frps.ini &
运行“./frps -c ./frps.ini”后提示[I] [root.go:209] frps started successfully 即表示frp服务端启动成功。
接下来配置frp客户端
由于我在win10系统上使用,因此又下了对应的frp文件frp_0.44.0_windows_amd64.zip,解压使用客户端配置文件。
解压文件:
- frps.ini: 服务端配置文件
- frps.exe: 服务端软件
-
- frpc.ini: 客户端配置文件
- frpc.exe: 客户端软件
我们配置frp客户端服务,因此只要第三、第四两个文件就行。
修改配置frpc.ini:
- [common]
- #域名abc.com指向的IP地址
- server_addr = xxx.xxx.xxx.xxx
- #frp服务端设定端口
- server_port = 7000
- #frp服务端设定的安全钥匙
- token = tk123456
-
- #[ssh]
- #type = tcp
- #local_ip = 127.0.0.1
- #local_port = 22
- #remote_port = 6000
-
- [web] #服务项名称,与frp服务端某个服务项一致
- type = http #类型
- local_ip = 127.0.0.1 #所需穿透内网IP,这里是本机
- local_port = 8080 #内网服务端口
- remote_port = 7000 #frp服务端设定端口
- custom_domains = dev1.abc.com #客户端指向域名,与服务端设置一致
启动客户端:
进入解压文件夹,在文件夹地址栏输入cmd,回车后进入cmd命令窗口,并直接定位到该文件夹下。

在命令窗口输入frpc.exe,提示[web] start proxy success 表示客户端启动成功。
至此,本机8080端口下的服务,可通过域名dev1.abc.com在外网访问了。
在搭建自己的frp服务前,作为白嫖档的滋肾档员,哪能放弃白嫖的原则,经过不懈的努力挖掘了N个内网穿透工具。但是网络速度实在台难以忍受,在挖到N+1个后终决定以头悬梁锥刺股的意志自行搭建内网穿透服务。
以上为个人经验,有需要的朋友自行参考。