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实现内网穿透教程

相关推荐
CHANG_THE_WORLD19 小时前
TCP 三次握手彻底解析:SYN、ACK、SEQ、确认号与状态迁移
网络·网络协议·tcp/ip
DLYSB_20 小时前
基于 HTTP API 与 Modbus 协议的多源监控声光语音联动告警系统设计与实现
网络·网络协议·http·报警灯
Bobolink_21 小时前
手机端和电脑端的网络环境配置有什么不同?
网络·智能手机·电脑·网络环境
爱刷碗的苏泓舒21 小时前
网络通信入门:端口映射与内网穿透
内网穿透·网络通信·端口映射·终端测试
星恒讯工业路由器1 天前
三大工业以太网协议选型对比
网络·物联网·ethercat·profinet·ethernet/ip·工业以太网协议
春卷同学1 天前
HarmonyOS掌上记账APP开发实践第25篇:Image 组件高级用法 — 资源引用、网络图片与首字符占位方案
网络·华为·harmonyos
mounter6251 天前
从内存隔离到运行时防线:透视 Linux 内核安全强化的博弈与演进
linux·网络·安全·linux kernel·kernel
Bug退散师1 天前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
Acrellea1 天前
固态变压器(SST)热管理破局:安科瑞交直流专属测温方案护航无人值守运维
运维·网络
振浩微433射频芯片1 天前
5个IO控制20个LED?查理复用实战拆解
网络·单片机·物联网·学习·智能家居