frp部署
前不久买了个腾讯云的轻量级服务器学习项目部署,今天心血来潮想在云服务器上部署frp服务端,实现内网服务穿透到公网。
frp简介
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp地址
gitHub源码:点击此处跳转:https://github.com/fatedier/frp
gitHub下载地址:点击此处下载:https://github.com/fatedier/frp/releases
注意区分linux、windows版本
环境搭建
服务端
-
将Linux版frp上传至服务器,解压文件
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
-
进入解压后frp目录,删除客户端相关文件 frpc、 frpc_full.ini、 frpc.ini
cd frp_0.44.0_linux_amd64 rm -f frpc frpc_full.ini frpc.ini
-
编辑服务端配置文件
vi frps.ini
-
frps.ini示例
[common] # 绑定服务端IP地址 公网ip地址 bind_addr = 0.0.0.0 # 绑定服务端端口,即预留给客户端连接的通道 bind_port = 7000 # 仪表盘端口,只有设置了才能使用仪表盘(默认端口号7500) dashboard_port = 7500 # 仪表盘访问的用户名密码,如果不设置,则默认都是 admin dashboard_user = admin dashboard_pwd = admin #设置客户端token,对应的客户端,也需要配置 token = abcd1234
-
服务端启动
# 后台启动服务端 nohup ./frps -c ./frps.ini & # 查看是否启动 tail -f nohup.out
客户端
-
下载windows版本,解压文件
-
进入解压后frp目录,删除客户端相关文件 frps、 frps_full.ini、 frps.ini
-
编辑配置文件frpc.ini
# 公共配置信息 [common] # 公网ip或域名 server_addr = # 连接frp服务端时的端口,跟前面服务端bind_port对应 server_port = 7000 # 远程桌面 [ssh] type = tcp # 本地ip local_ip = 127.0.0.1 # 本地端口 local_port = 22 # ssh连接时的端口, 例如远程连接 xxx.xxx.xxx:6000 remote_port = 6000 # []中名称可以随便定义 [tom] # 指定http协议 type = http # 本地项目端口 local_port = 8080 # 公网端口 远程连接 xxx.xxx.xxx:15001 remote_port = 15001
-
配置完成,启动
# 打开cmd命令窗口进入frp目录 frpc -c frpc.ini
-
客户端启动脚本,创建文件startfrp.bat,文件中加入以下代码,保存后,双击文件启动
start ./frpc.exe -c ./frpc.ini
测试
打开浏览器,搜索栏输入地址
公网ip + 端口号(客户端配置文件中的remote_port,如:remote_port = 15001)