frp技术

说明:frp(https://github.com/fatedier/frp) 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。(官方语)

本文介绍如何使用frp,借助阿里云公网IP访问内网应用。

下载

frp分客户端和服务器端,服务器端部署在有公网IP的阿里云服务器上,客户端部署在需要被穿透的内网设备上。

首先,去Github上(https://github.com/fatedier/frp/releases)下载程序包,我的阿里云服务器是CentOS 7,客户端设备是Windows系统,需要下载以下两个包。

一份留本地,一份上传到阿里云服务器上。

服务器端

花开两朵,各表一枝。先讲阿里云服务器上的这个,解压后如下:

frp程序包文件结构非常简单,解压后就这五个文件,两个执行程序,两个配置文件,分别对应客户端、服务器端,剩余一个是开源协议。

阿里云上我们只用得上frps,即frp服务器端,默认使用的端口是7000,输入./frps启动frp服务器。

客户端

frp客户端解压后如下

客户端只用启动frpc.exe,对应的配置文件内容如下:

properties 复制代码
serverAddr = "127.0.0.1"
serverPort = 7000

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

这个配置文件需要根据需要修改,其中

  • serverAddr,是阿里云公网IP;

  • serverPort,是阿里云上frps的绑定端口,默认7000;

  • localIP,是内网穿透的本地IP,设置127.0.0.1即可;

  • localPort,本地端口,与remotePort对应;

  • remotePort,远程端口,即部署frps的公网IP端口;

最后两个端口设置,表示使用阿里云公网IP:远程端口,映射的本地的什么端口。下面通过一个例子实践一下。

XXL-JOB

现在,我本地有个xxl-job-admin,可在浏览器上输入http://127.0.0.1:8080/xxl-job-admin/进入xxl-job任务调度中心,如下:

我现在用内网穿透技术frp,将这个应用通过阿里云公网IP映射出去,通过阿里云的公网IP访问到我本地内网下的这个xxl-job任务调度中心。

frpc配置文件frpc.toml设置如下:

properties 复制代码
serverAddr = "公网IP"
serverPort = 7000

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 6001

其中,最后两行表示使用公网IP:6001可访问到127.0.0.1:8080,设置完成后,输入下面的命令启动frpc.exe

powershell 复制代码
frpc.exe -c frpc.toml

启动完之后,使用http://公网IP:6001/xxl-job-admin/访问xxl-job任务调度中心,如下:

(注:如果无法访问,需考虑阿里云服务器7000、6001端口是否已开放)

大功告成,这个地址发给其他人,其他人就能访问你本地内网的xxl-job任务调度中心了。

总结

本文介绍了如何使用frp,实现内网穿透,借助公网IP访问内网的xxl-job任务调度中心。除此之外,如果你和前端同事联调接口,但是你们不在同一个网络下,网络不通,就能通过这种方式,配置一个公网IP地址给前端,这样就可以访问了,当然前提是你需要有一个有公网IP的服务器。

更多参考frp中文文档:https://gofrp.org/zh-cn/docs/

本文参考:使用frp实现内网穿透教程

相关推荐
会编程的土豆2 分钟前
网络基础核心笔记(HTTP、TCP、前后端通信)
网络·笔记·http
学无止境_永不停歇5 分钟前
从零手写高性能C++ TCP 服务器框架(十一) --- Connection实现
linux·服务器·网络·c++
独自破碎E6 分钟前
GoCloud - 基于 WebSocket 的实时聊天应用
网络·websocket·网络协议
19岁开始学习7 分钟前
计算机网络
网络·计算机网络
酉鬼女又兒11 分钟前
零基础入门计算机网络物理层:核心任务、四大关键特性与全类型传输媒体(双绞线/同轴电缆/光纤/微波/红外线/可见光)完整详解
网络·网络协议·计算机网络·职场和发展·求职招聘
卡梅德生物科技小能手32 分钟前
卡梅德生物科技深度解析LAG3(淋巴细胞活化基因3)
网络·人工智能·经验分享
暗夜猎手-大魔王34 分钟前
转载--Hermes Agent 09 | 技能安全:静态扫描 + 信任级别策略如何防止“技能投毒“
网络·数据库·安全
Multipath71234 分钟前
多卡多链路聚合设备为无人机的超远距离传输提供网络保障
网络·无人机
Cloud_Shy61836 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第二章 Item 13 - 16)
c语言·开发语言·网络·笔记·python·编辑器
Johnstons44 分钟前
如何精确模拟网络丢包进行测试?实测指南
开发语言·网络·php·网络测试·网络损伤·弱网模拟