frpc.toml frp0.61.1客户端配置
frpc.toml frp0.61.1客户端配置
这个配置文件是一个非常详细的 frpc.toml 示例,包含了多种代理类型和高级功能的配置。以下是对这个配置文件的详细解析和说明,帮助你理解每个部分的作用,并根据实际需求进行调整。
1. 基本配置
服务器地址和端口
toml复制
serverAddr = "0.0.0.0"
serverPort = 7000
-
serverAddr:FRP 服务端的地址,客户端将连接到这个地址。如果是本地测试,可以设置为"127.0.0.1",如果是远程服务器,设置为服务器的公网 IP。 -
serverPort:FRP 服务端的端口号,客户端将通过这个端口连接到服务端。
身份验证
toml复制
auth.method = "token"
auth.token = "12345678"
-
auth.method:身份验证方法,目前支持token 和oidc。 -
auth.token:用于身份验证的令牌,建议设置为复杂密码。
日志配置
toml复制
log.to = "./frpc.log"
log.level = "info"
log.maxDays = 3
-
log.to:日志文件的路径,可以设置为控制台(console)或文件路径。 -
log.level:日志级别,可选值为trace、debug、info、warn、error。 -
log.maxDays:日志文件保留的天数。
2. Web 管理界面
toml复制
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"
-
webServer.addr 和 webServer.port:设置 Web 管理界面的监听地址和端口。 -
webServer.user 和 webServer.password:访问 Web 管理界面的用户名和密码。
3. 代理配置
TCP 代理
toml复制
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6001
-
name:代理的名称,必须唯一。 -
type:代理类型,tcp 表示 TCP 代理。 -
localIP 和 localPort:本地服务的地址和端口。 -
remotePort:服务端监听的端口,客户端将通过这个端口访问本地服务。
HTTP 代理
toml复制
[[proxies]]
name = "web01"
type = "http"
localIP = "127.0.0.1"
localPort = 80
subdomain = "web01"
customDomains = ["web01.yourdomain.com"]
-
type:代理类型,http 表示 HTTP 代理。 -
subdomain:子域名,客户端可以通过subdomain.frps.com 访问服务。 -
customDomains:自定义域名,客户端可以通过这些域名访问服务。
HTTPS 代理
toml复制
[[proxies]]
name = "web02"
type = "https"
localIP = "127.0.0.1"
localPort = 8000
subdomain = "web02"
customDomains = ["web02.yourdomain.com"]
-
type:代理类型,https 表示 HTTPS 代理。
UDP 代理
toml复制
[[proxies]]
name = "dns"
type = "udp"
localIP = "114.114.114.114"
localPort = 53
remotePort = 6002
-
type:代理类型,udp 表示 UDP 代理。
4. 高级功能
插件代理
toml复制
[[proxies]]
name = "plugin_unix_domain_socket"
type = "tcp"
remotePort = 6003
[proxies.plugin]
type = "unix_domain_socket"
unixPath = "/var/run/docker.sock"
-
plugin:使用插件代理,例如unix_domain_socket,可以连接到 Unix 域套接字。
带宽限制
toml复制
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
transport.bandwidthLimit = "1MB"
transport.bandwidthLimitMode = "client"
-
transport.bandwidthLimit:限制代理的带宽,单位为 KB 或 MB。 -
transport.bandwidthLimitMode:限制带宽的模式,可以是client 或server。
健康检查
toml复制
[[proxies]]
name = "web01"
type = "http"
localIP = "127.0.0.1"
localPort = 80
healthCheck.type = "tcp"
healthCheck.timeoutSeconds = 3
healthCheck.maxFailed = 3
healthCheck.intervalSeconds = 10
-
healthCheck.type:健康检查类型,可以是tcp 或http。 -
healthCheck.timeoutSeconds:健康检查超时时间。 -
healthCheck.maxFailed:连续失败次数达到此值时,代理将被移除。 -
healthCheck.intervalSeconds:健康检查间隔时间。
5. 其他配置
NAT 穿透
toml复制
natHoleStunServer = "stun.easyvoip.com:3478"
-
natHoleStunServer:STUN 服务器地址,用于 NAT 穿透。
客户端绑定 IP
toml复制
transport.connectServerLocalIP = "0.0.0.0"
-
transport.connectServerLocalIP:客户端连接服务端时绑定的本地 IP。
代理协议
toml复制
transport.protocol = "tcp"
-
transport.protocol:客户端与服务端通信的协议,支持tcp、kcp、quic、websocket 和wss。
示例配置
以下是一个完整的 frpc.toml 配置示例:
toml复制
serverAddr = "0.0.0.0"
serverPort = 7000
auth.method = "token"
auth.token = "12345678"
log.to = "./frpc.log"
log.level = "info"
log.maxDays = 3
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6001
[[proxies]]
name = "web01"
type = "http"
localIP = "127.0.0.1"
localPort = 80
subdomain = "web01"
customDomains = ["web01.yourdomain.com"]
[[proxies]]
name = "web02"
type = "https"
localIP = "127.0.0.1"
localPort = 8000
subdomain = "web02"
customDomains = ["web02.yourdomain.com"]
配置步骤
-
编辑
frpc.toml 文件打开你的frpc.toml 文件,根据上述说明进行配置。 -
保存文件保存配置文件后,重新启动
frpc 服务:
bash复制sudo ./frpc -c /path/to/frpc.toml -
访问服务根据配置的代理类型和域名,访问相应的服务。例如:
- 通过
http://web01.yourdomain.com 访问web01 服务。 - 通过
http://web02.yourdomain.com 访问web02 服务。
- 通过
注意事项
- 安全性:确保
auth.token 设置为复杂密码,避免未授权访问。 - 域名解析:确保自定义域名(如
web01.yourdomain.com)解析到 FRP 服务端的 IP 地址。 - 防火墙:确保服务器的防火墙允许访问配置的端口。
通过以上配置,你可以成功设置并运行 FRP 客
浙公网安备 33010602011771号