史上最简单的frp内网穿透配置教程
XDJ0155 2024-10-01 17:07:02 阅读 67
史上最简单的frp内网穿透配置教程
frp是什么?
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
中文官网:https://gofrp.org/zh-cn/
优点
通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性:
多种协议支持:客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟。代理组间的负载均衡。端口复用:多个服务可以通过同一个服务端端口暴露。P2P 通信:流量不必经过服务器中转,充分利用带宽资源。客户端插件:提供多个原生支持的客户端插件,如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等,以便满足各种需求。服务端插件系统:高度可扩展的服务端插件系统,便于根据自身需求进行功能扩展。用户友好的 UI 页面:提供服务端和客户端的用户界面,使配置和监控变得更加方便。
原理图:
安装下载
在安装下载前,必须有一个公网的ip,这里我使用服务器ip
下载网址:https://github.com/fatedier/frp/releases
安装服务端(Linux)
也就是在你的公网ip服务器上安装frp服务端
下载到指定的一个目录,比如我这里下载到 <code>/var/frp,解压
修改<code>frps.toml配置文件,frps表示服务端,将下面配置内容写下去
bindPort = 7000# 服务端监听端口
vhostHTTPPort = 8787# 用于反向代理HTTP主机时使用
auth.method = "token"# 鉴权方式
auth.token = "12121212"# 客户端连接的token
# 后台管理面板配置
webServer.port = 7500# 后台面板端口号
webServer.addr = "0.0.0.0"# 后台管理地址
webServer.user = "admin"# 后台管理员账号
webServer.password = "pwd"# 后台管理员密码
启动服务
./frps -c ./frps.toml
访问控制面板, ip:7500,注意需要开启端口
安装客户端(Windos)
下载完成解压
修改frpc.toml文件,将下面内容写进去
<code>serverAddr = "xx.xx.xx.xx"# 服务端IP地址, 这里修改成linux的ip
serverPort = 7000# 服务端通信端口
auth.method = "token"
auth.token = "12121212" # token 与服务端保持一直
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22# 本地端口号
remotePort = 6000 # 公网端口号
[[proxies]]
name = "ps"
type = "http"
localIP = "127.0.0.1"# 本地监听地址和端口
localPort = 7001# 本地监听端口
remotePort = 8787 #公网端口号
customDomains = ["xx.xx.xx.xx"] # 域名或者IP, 这里也是修改成linux的ip
当远程端口监听到有请求时,会将请求转发到本地端口,例如: http://xx.xx.xx.xx:8787 -> http://127.0.0.1:7001
启动客户端
frpc.exe -c frpc.toml
测试
我本地有个Springboot项目,启动项目
访问:http://ip:8787/api/hello,发现能够访问到本地项目(记得开放端口)
上一篇: 【Linux】趣味讲解“权限“的那些事(重点讲解文件权限,内含su、sudo、chmod、chown、umask等指令)
下一篇: 【Docker系列】Docker 日志管理:批量删除策略与实践
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。