1 下载文件
git地址 https://github.com/fatedier/frp
文档地址 https://gofrp.org/zh-cn/docs/
下载地址 https://github.com/fatedier/frp/releases
下载文件如图所示:

image.png
合并文件到同一目录

image.png
frps和frpc是linux系统使用的frps.exe和frpc.exe是windows系统使用的可以混合使用,在自己的
linux云服务器上使用frps, 本地的windows系统上使用frpc.exe
2 配置
注意: 服务器要放行设置的端口
如果使用了宝塔之类的,云服务器和宝塔都要放行端口.
2.1 服务端
配置文件frps.toml
bindPort = 7000
vhostHTTPPort = 7080
# frps 面板web服务,显示配置内容,链接信息等
webServer.addr = "0.0.0.0"
webServer.port = 7001
# dashboard 用户名密码,可选,默认为空
webServer.user = "admin"
webServer.password = "admin"
# 鉴权[可选]
auth.method = "token"
auth.token = "xxxxxx"
上传文件(frps和frps.toml)到服务器任意目录
可新建根目录/frp,并传输文件到此目录
启动:cd到/frp执行命令: ./frps -c ./frps.toml
可以访问frps的web页面查看frp信息,配置中的webServer设置相关,url: ip地址:7001,用户名密码自己设置的(可不设)
2.2 客户端
配置文件frpc.toml
serverAddr = "x.x.x.x" # 服务器的ip
serverPort = 7000 # frp使用的端口,和frps.toml中的bindPort一致
# http内网穿透
[[proxies]]
name = "web"
type = "http"
localPort = 3000 # 内网http服务端口
customDomains = ["frp.xxx.com"] # 使用http://frp.xxx.com:7080 穿透访问 内网的http://127.0.0.1:3000
# websocket内网穿透
[[proxies]]
name = "websocket"
type = "tcp"
localPort = 3000 # 内网websocket服务端口
remotePort = 3000 # 服务器的访问端口
locations = ["/ws"] # 内网websocket服务的路由[可选]
customDomains = ["frp.xxx.com"] # 使用ws://frp.xxx.com:3000/ws 穿透访问 内网的ws://127.0.0.1:3000/ws
windows系统启动客户端: ./frpc.exe -c ./frpc.toml
域名frp.xxx.com要解析到服务器ip
然后访问:
http://frp.xxx.com:7080 http服务
ws://frp.xxx.com:3000/ws websocket服务
2.3 配置反向代理,去掉http上的端口号
配置完成后访问http://frp.xxx.com和http://frp.xxx.com:7080的效果一致
# 匹配 frp.xxx.com 的 80 端口请求
server {
listen 80;
server_name frp.xxx.com; # 你的公网自定义域名,与 frpc 配置一致
# 核心:将所有请求转发到 frps 的 7080 端口
location / {
proxy_pass http://127.0.0.1:7080; # 转发到本地 frps 的 vhostHTTPPort 端口
proxy_set_header Host $host; # 保留原始 Host 头
proxy_set_header X-Real-IP $remote_addr; # 传递真实客户端 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
3 windows客户端可视化管理
3.1 下载
下载地址: frpmgr

FRP管理器
3.2 访问内网web服务配置
设置代理后可去掉端口号7080
- 通过公网 http://frp1.xxx.com:7080 访问内网 http://127.0.0.1:5500 服务
http://frp1.xxx.com:7080
- 通过公网 http://frp2.xxx.com:7080 访问内网 http://start.test (自定义域名)服务
http://frp2.xxx.com:7080

