一、frp简介
frp是高性能反向代理工具,用于内网穿透,支持多种协议。本文介绍Windows服务器中frp服务(frps)配置方法、实战应用案例及注意事项,帮助实现公网访问内网服务。
frp(Fast Reverse Proxy)作为一款高性能的反向代理工具,广泛应用于内网服务的暴露、远程访问、以及设备间的网络打通。无论是远程开发、远程桌面、还是家庭自动化系统,FRP都能高效解决内网与外网的连接难题。

二、windows服务器的frp安装与配置:
1、首先需要有公网ip地址的云服务器,一般阿里、腾讯、华为等大厂对首次注册使用的新户会有比较大的优惠,例如我就以20多购买了一年华为云服务器,配置是2核2G,不过续费就相对会比较贵了。另外也有一些免费的云服务器可以使用。云服务器设置放行所需的端口,在后文的默认设置中是7000端口,如果后面的设置有修改,那这个云服务器放开的端口也需要相应修改。
2、从frp的官方GitHub站下载适合的操作系统的版本,。
GitHub - fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. (如果访问不了,可以尝试使用https://github.site/fatedier/frp/releases)

windows下载带有amd64的就可以,当前推荐下载v0.61.0版本。下载完成后,将压缩包解压到一个合适的目录。frps 服务端
frps.toml 服务端配置文件
frpc 客户端
frpc.toml 客户端配置文件
共4个文件。前两个带s的是服务器上使用的,后两个带c的是客户端使用的。后缀toml是配置文件,使用记事本打开编辑。
以下配置仅保证基本用法 (一般场景也够用了) 高级用法请自行查看配置文件说明根据需求调整
frps配置文件说明:服务端配置
bindPort = 7000 # 服务端端口,默认7000,如果修改,服务端配置文件也要对应修改
auth.method = "token" # 使用令牌(密码)进行身份验证
auth.token = "abcd1234" # 令牌(密码),客户端与服务端一致才能连接成功,这里仅做示例,自己进行设置,建议复杂一点。
将frps和frps.toml 放在合适的文件下,这里以C:\Program Files\frps 为例
bindAddr = "0.0.0.0" #服务器ip
bindPort = 7000 #FRP服务端端口
#设置加密token
auth.method = "token"
auth.token = "ghdahfuehuffaegasdgafgrwadaffeagafae@131251321"
#添加管理页面
webServer.addr = "0.0.0.0"
webServer.port = 7500 #管理页面端口
webServer.user = "admin" #登录用户名
webServer.password = "HuEn@131425" #登录密码
#http请求端口,与frpc中type="http"对应,tcp模式在frpc指定转发端口。
vhostHTTPPort = 8080
# tls
#transport.tls.force = true
#transport.tls.certFile = "/etc/frp/ssl/server.crt"
#transport.tls.keyFile = "/etc/frp/ssl/server.key"
#transport.tls.trustedCaFile = "/etc/frp/ssl/ca.crt"
在windows下运行
win+R打开运行对话框,输入cmd打开命令行,cd C:\Program Files\frps 切换到frps这个文件下,
输入frps -c frps.toml
看到返回success即成功启动frps服务。(同时回顾检查一下云服务是否放行了对应的端口,这里默认就是指7000端口)
客户端frpc的配置可参考其他文章,也可以使用frpc-desktop进行配置,非常方便好用。Releases · luckjiawei/frpc-desktop
frpc(客户端)运行
客户端运行有两种方式 分别是使用原版frpc客户端和frpc-desktop客户端。自行选择合适的方式。
frpc原版客户端类似frps
frpc配置文件说明:客户端配置
serverAddr = "45.589.698.45" #服务器IP
serverPort = 7000 #frp服务端端口
#不能删除, 否则连接不上会闪退
loginFailExit = false
[auth]
token = "abcd1234" #FRP服务端token
[[proxies]]
name = "music" #服务名称
type = "http" #请求类型http或者tcp
localIP = "127.0.0.1" #本地IP
localPort = 4533 #监听本地端口
#remotePort = 4533 #监听服务器端口,该选项使用type="tcp"
customDomains = ["muweb.engege.top"] #该选项使用type="http"bat批处理运行
@echo off
frps.exe -c frps.toml
puase