回复于:Linux上部署Frps与Mac上Frpc的配置方案详细记录

VFX大学 VFX Pipeline | 数字创意工作流 Linux上部署Frps与Mac上Frpc的配置方案详细记录 回复于:Linux上部署Frps与Mac上Frpc的配置方案详细记录

#128202

追光
参与者

FRPC批量端口号代理与泛域名解析配置方法

这个配置文件是 Frp 客户端(frpc) 配置的一部分,使用了 Go 模板语法 来生成多个代理配置。它的作用是根据 端口范围 来动态生成多个 TCP 代理。接下来,我将详细解释每个部分:

parseNumberRangePair 是一个自定义函数(假设是为了处理端口范围),将字符串 “888-999” 转换为一个端口范围。例如,888到 999。
•第一个参数 “888-999” 是表示端口范围的字符串。
•第二个参数 “888-999” 是备用参数或者用于其他配置逻辑。
•range 是 Go 模板的关键字,允许遍历 parseNumberRangePair 返回的结果。这使得我们能够为端口范围内的每个端口动态生成代理配置。

# frpc.toml
{{- range $_, $v := parseNumberRangePair "888-999" "888-999" }}
[[proxies]]
name = "Jisongbin-{{ $v.First }}"
type = "tcp"
localIP = "127.0.0.1"
localPort = {{ $v.First }}
remotePort = {{ $v.Second }}
transport.useEncryption = true
transport.useCompression = true
{{- end }}

泛域名解析
在这个配置中,主要的作用是设置 Frp 客户端(frpc) 中的反向代理,特别是通过 泛域名解析 来映射本地服务。

自定义域名(customDomains),这行配置特别重要,因为它涉及到 泛域名解析(Wildcard DNS)。*.xxx.com 表示匹配 所有 以 xxx.com 结尾的子域名。使用这个配置后,Frp 会接收所有 xxx.com 下的子域名请求,它们都会被转发到本地服务上。当使用大量子域名的情况,使用泛域名解析非常方便。

[[proxies]]
name = "xxx"
type = "http"
localPort = 80
localIP = "198.19.249.118"
transport.useEncryption = true
transport.useCompression = true
customDomains = ["*.x.xxx.com"]