代理配置
frp 代理的详细配置说明。
ProxyBaseConfig
Field | Type | Description | Required |
---|---|---|---|
name | string | 代理名称。 | Yes |
type | string | 代理类型,可选值为 tcp, udp, http, https, tcpmux, stcp, sudp, xtcp。 | Yes |
annotations | map[string]string | 代理的注释信息,会被展示在 server 的 dashboard 中。 | No |
transport | ProxyTransport | 代理网络层配置。 | No |
metadatas | map[string]string | 附加元数据,会传递给服务端插件,提供附加能力。 | No |
loadBalancer | LoadBalancerConfig | 负载均衡配置。 | No |
healthCheck | HealthCheckConfig | 健康检查配置。 | No |
ProxyBackend | 代理后端服务配置。 | Yes |
ProxyTransport
Field | Type | Description | Required |
---|---|---|---|
useEncryption | bool | 是否启用加密功能,启用后该代理和服务端之间的通信内容都会被加密传输,如果 frpc 启用了全局 TLS,则不需要再启用此参数。 | No |
useCompression | bool | 是否启用压缩功能,启用后该代理和服务端之间的通信内容都会被压缩传输。 | No |
bandwidthLimit | string | 设置单个 proxy 的带宽限流,单位为 MB 或 KB,0 表示不限制,如果启用,默认会作用于对应的 frpc。 | No |
bandwidthLimitMode | string | 限流类型,客户端限流或服务端限流,可选值为 client 和 server,默认为客户端限流。 | No |
proxyProtocolVersion | string | 启用 proxy protocol 协议的版本,可选值为 v1 和 v2。如果启用,则 frpc 和本地服务建立连接后会发送 proxy protocol 的协议,包含了原请求的 IP 地址和端口等内容。 | No |
ProxyBackend
Field | Type | Description | Required |
---|---|---|---|
localIP | string | 被代理的本地服务 IP,默认为 127.0.0.1。 | No |
localPort | int | 被代理的本地服务端口。 | No |
plugin | ClientPluginOptions | 客户端插件配置,如果启用了客户端插件,则不需要配置 localIP 和 localPort,流量会由客户端插件接管。不同的插件类型对应不同的配置,例如 HTTPProxyPluginOptions。 | No |
LoadBalancerConfig
Field | Type | Description | Required |
---|---|---|---|
group | string | 负载均衡分组名称,用户请求会以轮询的方式发送给同一个 group 中的代理。 | Yes |
groupKey | string | 负载均衡分组密钥,用于对负载均衡分组进行鉴权,groupKey 相同的代理才会被加入到同一个分组中。 | No |
HealthCheckConfig
Field | Type | Description | Required |
---|---|---|---|
type | string | 健康检查类型,可选值为 tcp 和 http,配置后启用健康检查功能,tcp 是连接成功则认为服务健康,http 要求接口返回 2xx 的状态码则认为服务健康。 | Yes |
timeoutSeconds | int | 健康检查超时时间(秒),默认为 3s。 | No |
maxFailed | int | 健康检查连续错误次数,连续检查错误多少次认为服务不健康,默认为 1。 | No |
intervalSeconds | int | 健康检查周期(秒),每隔多长时间进行一次健康检查,默认为 10s。 | No |
path | string | 健康检查的 HTTP 接口,如果健康检查类型是 http,则需要配置此参数,指定发送 http 请求的 path,例如 /health 。 |
No |
httpHeaders | []HTTPHeader | 健康检查的 HTTP 请求头,仅在健康检查类型是 http 时生效。 | No |
DomainConfig
Field | Type | Description | Required |
---|---|---|---|
customDomains | []string | 自定义域名列表。 | No |
subdomain | string | 子域名。 | No |
TCPProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
remotePort | int | 服务端绑定的端口,用户访问服务端此端口的流量会被转发到对应的本地服务。 | No |
UDPProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
remotePort | int | 服务端绑定的端口,用户访问服务端此端口的流量会被转发到对应的本地服务。 | No |
HTTPProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
DomainConfig | 域名配置。 | Yes | |
locations | []string | URL 路由配置。 | No |
httpUser | string | HTTP Basic Auth 用户名。 | No |
httpPassword | string | HTTP Basic Auth 密码。 | No |
hostHeaderRewrite | string | 替换 Host Header。 | No |
requestHeaders | HeaderOperations | 对请求 Header 的操作配置。 | No |
responseHeaders | HeaderOperations | 对响应 Header 的操作配置。 | No |
routeByHTTPUser | string | 根据 HTTP Basic Auth user 路由。 | No |
HTTPSProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
DomainConfig | 域名配置。 | Yes |
TCPMuxProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
DomainConfig | 域名配置。 | Yes | |
httpUser | string | 用户名,如果配置此参数,通过 HTTP CONNECT 建立连接时需要通过 Proxy-Authorization 附加上正确的身份信息。 | No |
httpPassword | string | 密码。 | No |
routeByHTTPUser | string | 根据 HTTP Basic Auth user 路由。 | No |
multiplexer | string | 复用器类型,目前仅支持 httpconnect。 | No |
STCPProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
secretKey | string | 密钥,服务端和访问端的密钥需要一致,访问端才能访问到服务端。 | No |
allowUsers | []string | 允许访问的 visitor 用户列表,默认只允许同一用户下的 visitor 访问,配置为 * 则允许任何 visitor 访问。 | No |
XTCPProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
secretKey | string | 密钥,服务端和访问端的密钥需要一致,访问端才能访问到服务端。 | No |
allowUsers | []string | 允许访问的 visitor 用户列表,默认只允许同一用户下的 visitor 访问,配置为 * 则允许任何 visitor 访问。 | No |
SUDPProxyConfig
Field | Type | Description | Required |
---|---|---|---|
ProxyBaseConfig | 基础配置。 | Yes | |
secretKey | string | 密钥,服务端和访问端的密钥需要一致,访问端才能访问到服务端。 | No |
allowUsers | []string | 允许访问的 visitor 用户列表,默认只允许同一用户下的 visitor 访问,配置为 * 则允许任何 visitor 访问。 | No |