frp云服务器内网穿透
小祁同学 2022-10-22
技术文章
Linux
网络
介绍
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。frp 项目官网是 https://github.com/fatedier/frp (opens new window)
# 1、介绍
因好朋友上班遇到以下需求,钉钉某事件回调需要公网ip,而本地开发环境都是动态ipv4,无固定的ip地址,现在内网穿透一般都会想到花生壳等第三方工具,一般的话都收费,有的还要实名认证很是麻烦。
2022年7月前钉钉的自带的内网穿透比较好用,可惜钉钉关闭了该功能钉钉内网穿透文档(需自行搭配) (opens new window)
平时学习或者开发时,也有很多时候需要用到内网穿透,如前后端开发,或者云服务器内存不够时,使用该方式进行运行环境等等
内网穿透不止frp,仅两年的nps也很火,使用简单,以及ngrok,lanproxy,goproxy,推荐frp和nps,nps后起之秀,本博客用于介绍frp
注意:需要开放防火墙端口,云服务器后台的安全组,安装客户端请退出杀毒软件
# 2、云服务器安装frp服务端
wget https://github.com/fatedier/frp/releases/download/v0.40.0/frp_0.40.0_linux_amd64.tar.gz
1
安装完成后解压
tar -zxvf frp_0.40.0_linux_amd64.tar.gz
1
解压完毕后进入文件夹,查看配置文件
cd frp_0.40.0_linux_amd64
vim frps.ini
1
2
2
显示以下内容
[common]
bind_port = 7000 # 是服务端的端口,记得防火墙
1
2
2
lsof -i:7000 # 查询当前端口是否被占用
1
./frps -c frps.ini # 启动frp服务端(前台启动,ctrl+c结束)
# nohup ./frps -c frps.ini > /dev/null 2> /dev/null & # 后台启动frp服务端
1
2
3
2
3
服务端配置🆗了
# 3、客户端设置内网穿透
解压之后进入文件夹,并打开frpc.ini
[common]
server_addr = 你云服务器的公网ip地址
server_addr = 7000 # 你云服务器内设置的端口号
tls_enable = true
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 8080 # (windows远程默认端口,也就是你要内网穿透的端口,你内网的端口)
remort_port = 8080 # (公网下要访问的端口)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
使用dos命令窗口即cmd,输入一下命令启动
frpc -c frpc.ini
1
如下图所示,表示启动成功
你也可以使用nginx反向代理,使用域名访问该接口,并配置ssl即https访问,如有疑问留言即可