最近发现钉钉提供的免费穿透服务关闭了,对于前后端分离开发的我们,被打了个措手不及。
好在钉钉提供补救措施——自行搭建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个后终决定以头悬梁锥刺股的意志自行搭建内网穿透服务。
以上为个人经验,有需要的朋友自行参考。
本文介绍如何在钉钉取消免费穿透服务后,通过搭建frp服务实现前后端分离项目的内外网通信。包括选择适合的frp版本、配置服务端与客户端、启动服务等步骤。


被折叠的 条评论
为什么被折叠?



