<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>frp</title>
    <link>/frpdoc/zh-cn/</link>
    <description>Recent content on frp</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <atom:link href="/frpdoc/zh-cn/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用 systemd</title>
      <link>/frpdoc/zh-cn/docs/setup/systemd/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/setup/systemd/</guid>
      <description>&lt;p&gt;在 Linux 系统下，使用 &lt;code&gt;systemd&lt;/code&gt; 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。&lt;/p&gt;&#xA;&lt;p&gt;以下是具体的操作步骤：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;安装 systemd&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;如果您的 Linux 服务器上尚未安装 systemd，可以使用包管理器如 &lt;code&gt;yum&lt;/code&gt;（适用于 CentOS/RHEL）或 &lt;code&gt;apt&lt;/code&gt;（适用于 Debian/Ubuntu）来安装它：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使用 yum 安装 systemd（CentOS/RHEL）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum install systemd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使用 apt 安装 systemd（Debian/Ubuntu）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt install systemd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;创建 frps.service 文件&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;使用文本编辑器 (如 vim) 在 &lt;code&gt;/etc/systemd/system&lt;/code&gt; 目录下创建一个 &lt;code&gt;frps.service&lt;/code&gt; 文件，用于配置 frps 服务。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo vim /etc/systemd/system/frps.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;写入内容&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[Unit]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 服务名称，可自定义&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;Description&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;frp server&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;After&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;network.target syslog.target&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;Wants&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;network.target&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[Service]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;Type&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;simple&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 启动frps的命令，需修改为您的frps的安装路径&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;ExecStart&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;/path/to/frps -c /path/to/frps.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[Install]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;WantedBy&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;multi-user.target&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;使用 systemd 命令管理 frps 服务&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>通信安全及优化</title>
      <link>/frpdoc/zh-cn/docs/features/common/network/network/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/network/network/</guid>
      <description>&lt;h2 id=&#34;加密与压缩&#34;&gt;加密与压缩&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;注: 当 frpc 和 frps 之间启用了 TLS 之后，流量会被全局加密，不再需要配置单个代理上的加密，新版本中已经默认启用。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;每一个代理都可以选择是否启用加密和压缩的功能。&lt;/p&gt;&#xA;&lt;p&gt;加密算法采用 aes-128-cfb，压缩算法采用 snappy。&lt;/p&gt;&#xA;&lt;p&gt;在每一个代理的配置中使用如下参数指定：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;useEncryption&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;useCompression&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过设置 &lt;code&gt;transport.useEncryption = true&lt;/code&gt;，将 frpc 与 frps 之间的通信内容加密传输，将会有效防止传输内容被截取。&lt;/p&gt;&#xA;&lt;p&gt;如果传输的报文长度较长，通过设置 &lt;code&gt;transport.useCompression = true&lt;/code&gt; 对传输内容进行压缩，可以有效减小 frpc 与 frps 之间的网络流量，加快流量转发速度，但是会额外消耗一些 CPU 资源。&lt;/p&gt;&#xA;&lt;h2 id=&#34;tcp-多路复用&#34;&gt;TCP 多路复用&lt;/h2&gt;&#xA;&lt;p&gt;客户端和服务器端之间的连接支持多路复用，不再需要为每一个用户请求创建一个连接，使连接建立的延迟降低，并且避免了大量文件描述符的占用，使 frp 可以承载更高的并发数。&lt;/p&gt;&#xA;&lt;p&gt;该功能默认启用，如需关闭，可以在 frps.toml 和 frpc.toml 中配置，该配置项在服务端和客户端必须一致：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frps.toml 和 frpc.toml 中&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tcpMux&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;连接池&#34;&gt;连接池&lt;/h2&gt;&#xA;&lt;p&gt;默认情况下，当用户请求建立连接后，frps 才会请求 frpc 主动与后端服务建立一个连接。当为指定的代理启用连接池后，frp 会预先和后端服务建立起指定数量的连接，每次接收到用户请求后，会从连接池中取出一个连接和用户连接关联起来，避免了等待与后端服务建立连接以及 frpc 和 frps 之间传递控制信息的时间。&lt;/p&gt;&#xA;&lt;p&gt;这一功能适合有大量短连接请求时开启。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;注: 当 TCP 多路复用启用后，连接池的提升有限，一般场景下无需关心。&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>通用配置</title>
      <link>/frpdoc/zh-cn/docs/reference/common/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/reference/common/</guid>
      <description>&lt;h3 id=&#34;logconfig&#34;&gt;LogConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;to&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;日志输出文件路径，如果为 console，则会将日志打印在标准输出中。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;level&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;日志级别，可选值为 trace, debug, info, warn, error，默认级别为 info。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;maxDays&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;日志文件最多保留天数，默认为 3 天。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;disablePrintColor&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;禁用标准输出中的日志颜色。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;webserverconfig&#34;&gt;WebServerConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;addr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;webServer 监听地址，默认为 127.0.0.1。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;port&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;webServer 监听端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;user&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP BasicAuth 用户名。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;password&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP BasicAuth 密码。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;assetsDir&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;静态资源目录，Dashboard 使用的资源默认打包在二进制文件中，通过指定此参数使用自定义的静态资源。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;pprofEnable&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;启动 Go HTTP pprof，用于应用调试。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tls&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/common/#tlsconfig&#34;&gt;TLSConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Dashboard 启用 HTTPS 的 TLS 相关配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tlsconfig&#34;&gt;TLSConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;certFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 证书文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;keyFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 密钥文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;trustedCaFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CA 证书文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;serverName&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS Server 名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;quicoptions&#34;&gt;QUICOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;keepalivePeriod&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;默认值为 10 秒。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;maxIdleTimeout&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;默认值为 30 秒。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;maxIncomingStreams&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;默认值为 100000。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;portsrange&#34;&gt;PortsRange&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;start&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;起始端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;end&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;终止端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;single&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;单一端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;headeroperations&#34;&gt;HeaderOperations&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;set&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;map[string]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;在 Header 中设置指定的 KV 值。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;httpheader&#34;&gt;HTTPHeader&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;name&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Header 名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;value&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Header 值。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;valuesource&#34;&gt;ValueSource&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;数据源类型，可选值为 &amp;ldquo;file&amp;rdquo; 和 &amp;ldquo;exec&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;file&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/common/#filesource&#34;&gt;FileSource&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;文件数据源配置，当 type 为 &amp;ldquo;file&amp;rdquo; 时必填。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;exec&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/common/#execsource&#34;&gt;ExecSource&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;外部命令数据源配置，当 type 为 &amp;ldquo;exec&amp;rdquo; 时必填。需要启动时添加 &lt;code&gt;--allow-unsafe=TokenSourceExec&lt;/code&gt; 参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;filesource&#34;&gt;FileSource&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;path&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;execsource&#34;&gt;ExecSource&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;command&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;要执行的命令路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;args&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;命令参数列表。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;env&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/common/#execenvvar&#34;&gt;ExecEnvVar&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;额外的环境变量。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;execenvvar&#34;&gt;ExecEnvVar&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;name&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;环境变量名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;value&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;环境变量值。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;nattraversalconfig&#34;&gt;NatTraversalConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;disableAssistedAddrs&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;禁用本地网络接口地址的辅助连接。当启用时，仅使用通过 STUN 发现的公网地址进行 NAT 打洞，避免使用可能较慢的本地网络接口（如 VPN）。默认为 false。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>服务端配置</title>
      <link>/frpdoc/zh-cn/docs/reference/server-configures/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/reference/server-configures/</guid>
      <description>&lt;h3 id=&#34;serverconfig&#34;&gt;ServerConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;auth&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/server-configures/#authserverconfig&#34;&gt;AuthServerConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;鉴权配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bindAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端监听地址，用于接收 frpc 的连接，默认监听 0.0.0.0。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bindPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端监听端口，默认值为 7000。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;kcpBindPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端监听 KCP 协议端口，用于接收配置了使用 KCP 协议的 frpc 连接。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;quicBindPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端监听 QUIC 协议端口，用于接收配置了使用 QUIC 协议的 frpc 连接。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;proxyBindAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理监听地址，可以使代理监听在不同的网卡地址，默认情况下同 bindAddr。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;vhostHTTPPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP 类型代理监听的端口，启用后才能支持 HTTP 类型的代理。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;vhostHTTPTimeout&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP 类型代理在服务端的 ResponseHeader 超时时间，默认为 60s。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;vhostHTTPSPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTPS 类型代理监听的端口，启用后才能支持 HTTPS 类型的代理。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcpmuxHTTPConnectPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcpmux 类型且复用器为 httpconnect 的代理监听的端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcpmuxPassthrough&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;对于 tcpmux 类型的代理是否透传 CONNECT 请求。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;subDomainHost&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;二级域名后缀。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;custom404Page&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;自定义 404 错误页面地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;sshTunnelGateway&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/server-configures/#sshtunnelgateway&#34;&gt;SSHTunnelGateway&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;ssh 隧道网关配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;webServer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#webserverconfig&#34;&gt;WebServerConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端 Dashboard 配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;enablePrometheus&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否提供 Prometheus 监控接口，需要同时启用了 webServer 后才会生效。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;log&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#logconfig&#34;&gt;LogConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;日志配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;transport&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/server-configures/#servertransportconfig&#34;&gt;ServerTransportConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;网络层配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;detailedErrorsToClient&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端返回详细错误信息给客户端，默认为 true。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;maxPortsPerClient&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;限制单个客户端最大同时存在的代理数，默认无限制。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;userConnTimeout&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;用户建立连接后等待客户端响应的超时时间，单位秒，默认为 10 秒。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;udpPacketSize&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理 UDP 服务时支持的最大包长度，默认为 1500，服务端和客户端的值需要一致。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;natholeAnalysisDataReserveHours&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;打洞策略数据的保留时间，默认为 168 小时，即 7 天。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;allowPorts&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#portsrange&#34;&gt;[]PortsRange&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;允许代理绑定的服务端端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpPlugins&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/server-configures/#httppluginoptions&#34;&gt;[]HTTPPluginOptions&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端 HTTP 插件配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;authserverconfig&#34;&gt;AuthServerConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;method&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;鉴权方式，可选值为 token 或 oidc，默认为 token。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;additionalScopes&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;鉴权信息附加范围，可选值为 HeartBeats 和 NewWorkConns&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;token&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;在 method 为 token 时生效，客户端需要设置一样的值才能鉴权通过。与 tokenSource 字段互斥。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tokenSource&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#valuesource&#34;&gt;ValueSource&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;从文件中加载 token 的配置。与 token 字段互斥。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;oidc&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/server-configures/#authoidcserverconfig&#34;&gt;AuthOIDCServerConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;oidc 鉴权配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;authoidcserverconfig&#34;&gt;AuthOIDCServerConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;issuer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;audience&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;skipExpiryCheck&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;skipIssuerCheck&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;servertransportconfig&#34;&gt;ServerTransportConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcpMuxKeepaliveInterval&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcp mux 的心跳检查间隔时间，单位秒。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcpKeepalive&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;和客户端底层 TCP 连接的 keepalive 间隔时间，单位秒，配置为负数表示不启用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;maxPoolCount&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;允许客户端设置的最大连接池大小，如果客户端配置的值大于此值，会被强制修改为最大值，默认为 5。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;heartbeatTimeout&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端和客户端心跳连接的超时时间，单位秒，默认为 90 秒。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;quic&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#quicoptions&#34;&gt;QUICOptions&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;QUIC 协议配置参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tls&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/server-configures/#tlsserverconfig&#34;&gt;TLSServerConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端 TLS 协议配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tlsserverconfig&#34;&gt;TLSServerConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;force&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否只接受启用了 TLS 的客户端连接。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#tlsconfig&#34;&gt;TLSConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 协议配置，内嵌结构。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;httppluginoptions&#34;&gt;HTTPPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;name&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;addr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件接口的地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;path&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件接口的 Path。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;ops&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件需要生效的操作列表，具体可选值请参考服务端插件的说明文档。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tlsVerify&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;当插件地址为 HTTPS 协议时，是否校验插件的 TLS 证书，默认为不校验。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;sshtunnelgateway&#34;&gt;SSHTunnelGateway&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bindPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;SSH 服务器监听端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;YES&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;privateKeyFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;SSH 服务器私钥文件路径。若为空，frps将读取autoGenPrivateKeyPath路径下的私钥文件。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;autoGenPrivateKeyPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;私钥文件自动生成路径，默认为./.autogen_ssh_key。若文件不存在或内容为空，frps将自动生成RSA私钥文件并存储到该路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;authorizedKeysFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;SSH 客户端授权密钥文件路径。若为空，则不进行SSH客户端鉴权认证。非空可实现SSH免密登录认证。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>修改 HTTP 请求 Header</title>
      <link>/frpdoc/zh-cn/docs/features/http-https/header/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/http-https/header/</guid>
      <description>&lt;h2 id=&#34;修改-host-header&#34;&gt;修改 Host Header&lt;/h2&gt;&#xA;&lt;p&gt;通常情况下 frp 不会修改转发的任何数据。但有一些后端服务会根据 HTTP 请求 header 中的 Host 字段来展现不同的网站，例如 nginx 的虚拟主机服务，启用 Host Header 的修改功能可以动态修改 HTTP 请求中的 Host 字段。需要注意的是，该功能仅限于 HTTP 类型的代理。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;test.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;hostHeaderRewrite&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;dev.yourdomain.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;原来 HTTP 请求中的 Host 字段 &lt;code&gt;test.yourdomain.com&lt;/code&gt; 转发到后端服务时会被替换为 &lt;code&gt;dev.yourdomain.com&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;设置普通-header&#34;&gt;设置普通 Header&lt;/h2&gt;&#xA;&lt;p&gt;对于类型为 HTTP 的代理，可以设置在转发中动态添加的 Header 参数&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;test.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;hostHeaderRewrite&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;dev.yourdomain.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;requestHeaders&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x-from-where&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;frp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;responseHeaders&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;foo&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;bar&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;根据如上的配置，会在请求的 Header 中加上 &lt;code&gt;x-from-where: frp&lt;/code&gt;，在响应的 Header 中加上 &lt;code&gt;foo: bar&lt;/code&gt;。&lt;/p&gt;</description>
    </item>
    <item>
      <title>自定义 TLS 协议加密</title>
      <link>/frpdoc/zh-cn/docs/features/common/network/network-tls/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/network/network-tls/</guid>
      <description>&lt;p&gt;&lt;code&gt;transport.useEncryption&lt;/code&gt; 和 &lt;code&gt;STCP&lt;/code&gt; 等功能能有效防止流量内容在通信过程中被盗取，但是无法判断对方的身份是否合法，存在被中间人攻击的风险。为此 frp 支持 frpc 和 frps 之间的流量通过 TLS 协议加密，并且支持客户端或服务端单向验证，双向验证等功能。&lt;/p&gt;&#xA;&lt;p&gt;当 &lt;code&gt;frps.toml&lt;/code&gt; 中 &lt;code&gt;transport.tls.force = true&lt;/code&gt; 时，表示 server 端只接受 TLS 连接的客户端，这也是 frps 验证 frpc 身份的前提条件。如果 &lt;code&gt;frps.toml&lt;/code&gt; 中 &lt;code&gt;transport.tls.trustedCaFile&lt;/code&gt; 内容是有效的话，那么默认就会开启 &lt;code&gt;transport.tls.force = true&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意：启用此功能后除 xtcp ，可以不用再设置 use_encryption 重复加密&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;tls-默认开启方式&#34;&gt;TLS 默认开启方式&lt;/h2&gt;&#xA;&lt;p&gt;从 v0.50.0 开始，&lt;code&gt;transport.tls.enable&lt;/code&gt; 的默认值将会为 true，默认开启 TLS 协议加密。&lt;/p&gt;&#xA;&lt;p&gt;如果 frps 端没有配置证书，则会使用随机生成的证书来加密流量。&lt;/p&gt;&#xA;&lt;p&gt;默认情况下，frpc 开启 TLS 加密功能，但是不校验 frps 的证书。&lt;/p&gt;&#xA;&lt;h2 id=&#34;frpc-单向校验-frps-身份&#34;&gt;frpc 单向校验 frps 身份&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;trustedCaFile&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/to/ca/path/ca.crt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frps.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;certFile&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/to/cert/path/server.crt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;keyFile&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/to/key/path/server.key&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;frpc 需要额外加载 ca 证书，frps 需要额外指定 TLS 配置。frpc 通过 ca 证书单向验证 frps 的身份。这就要求 frps 的 &lt;code&gt;server.crt&lt;/code&gt; 对 frpc 的 ca 是合法的。&lt;/p&gt;</description>
    </item>
    <item>
      <title>客户端配置</title>
      <link>/frpdoc/zh-cn/docs/reference/client-configures/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/reference/client-configures/</guid>
      <description>&lt;h3 id=&#34;clientconfig&#34;&gt;ClientConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/client-configures/#clientcommonconfig&#34;&gt;ClientCommonConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;客户端通用配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;proxies&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../proxy&#34;&gt;[]ProxyConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理配置，不同的代理类型对应不同的配置，例如 &lt;a href=&#34;../proxy#tcpproxyconfig&#34;&gt;TCPProxyConfig&lt;/a&gt; 或 &lt;a href=&#34;../proxy#httpproxyconfig&#34;&gt;HTTPProxyConfig&lt;/a&gt;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;visitors&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../visitor&#34;&gt;[]VisitorConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;访问者配置，不同的访问者类型对应不同的配置，例如 &lt;a href=&#34;../visitor#stcpvisitorconfig&#34;&gt;STCPVisitorConfig&lt;/a&gt;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;clientcommonconfig&#34;&gt;ClientCommonConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;auth&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/client-configures/#authclientconfig&#34;&gt;AuthClientConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;客户端鉴权配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;user&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;用户名，设置此参数后，代理名称会被修改为 {user}.{proxyName}，避免代理名称和其他用户冲突。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;serverAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;连接服务端的地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;serverPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;连接服务端的端口，默认为 7000。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;natHoleStunServer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;xtcp 打洞所需的 stun 服务器地址，默认为 stun.easyvoip.com:3478。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;dnsServer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;使用 DNS 服务器地址，默认使用系统配置的 DNS 服务器，指定此参数可以强制替换为自定义的 DNS 服务器地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;loginFailExit&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;第一次登陆失败后是否退出，默认为 true。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;start&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;指定启用部分代理，当配置了较多代理，但是只希望启用其中部分时可以通过此参数指定，默认为全部启用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;log&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#logconfig&#34;&gt;LogConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;日志配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;webServer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#webserverconfig&#34;&gt;WebServerConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;客户端 AdminServer 配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;transport&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/client-configures/#clienttransportconfig&#34;&gt;ClientTransportConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;客户端网络层配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;virtualNet&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/client-configures/#virtualnetconfig&#34;&gt;VirtualNetConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;虚拟网络配置，Alpha 特性。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;featureGates&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;map[string]bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;特性门控，用于启用或禁用实验性功能。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;udpPacketSize&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理 UDP 服务时支持的最大包长度，默认为 1500，服务端和客户端需要保持配置一致。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;metadatas&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;map[string]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;附加元数据，会传递给服务端插件，提供附加能力。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;includes&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;指定额外的配置文件目录，其中的 proxy 和 visitor 配置会被读取加载。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;store&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/client-configures/#storeconfig&#34;&gt;StoreConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;持久化存储配置，用于保存代理和访问者配置。启用 webServer 后支持通过 Web UI 或 API 在运行时动态管理。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;storeconfig&#34;&gt;StoreConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;path&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;存储文件路径，配置后启用 Store 功能，支持运行时动态管理代理和访问者并持久化保存。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;clienttransportconfig&#34;&gt;ClientTransportConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;protocol&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;和 frps 之间的通信协议，可选值为 tcp, kcp, quic, websocket, wss。默认为 tcp。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;dialServerTimeout&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;连接服务端的超时时间，默认为 10s。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;dialServerKeepalive&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;和服务端底层 TCP 连接的 keepalive 间隔时间，单位秒。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;connectServerLocalIP&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;连接服务端时所绑定的本地 IP。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;proxyURL&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;连接服务端使用的代理地址，格式为 {protocol}://user:passwd@192.168.1.128:8080 protocol 目前支持 http、socks5、ntlm。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;poolCount&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;连接池大小。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcpMux&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TCP 多路复用，默认启用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tcpMuxKeepaliveInterval&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;tcpMux&lt;/code&gt; 的心跳检查间隔时间。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;quic&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#quicoptions&#34;&gt;QUICOptions&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;QUIC 协议配置参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;heartbeatInterval&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;向服务端发送心跳包的间隔时间，默认为 30s。建议启用 &lt;code&gt;tcpMuxKeepaliveInterval&lt;/code&gt;，将此值设置为 -1。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;heartbeatTimeout&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;和服务端心跳的超时时间，默认为 90s。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tls&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/client-configures/#tlsclientconfig&#34;&gt;TLSClientConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;客户端 TLS 协议配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tlsclientconfig&#34;&gt;TLSClientConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;enable&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否和服务端之间启用 TLS 连接，默认启用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;disableCustomTLSFirstByte&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;启用 TLS 连接时，不发送 0x17 特殊字节。默认为 true。当配置为 true 时，无法和 vhostHTTPSPort 端口复用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#tlsconfig&#34;&gt;TLSConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 协议配置，内嵌结构。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;authclientconfig&#34;&gt;AuthClientConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;method&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;鉴权方式，可选值为 token 或 oidc，默认为 token。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;additionalScopes&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;鉴权信息附加范围，可选值为 HeartBeats 和 NewWorkConns&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;token&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;在 method 为 token 时生效，客户端需要设置一样的值才能鉴权通过。与 tokenSource 字段互斥。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tokenSource&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#valuesource&#34;&gt;ValueSource&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;从文件中加载 token 的配置。与 token 字段互斥。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;oidc&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/client-configures/#authoidcclientconfig&#34;&gt;AuthOIDCClientConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;oidc 鉴权配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;authoidcclientconfig&#34;&gt;AuthOIDCClientConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;clientID&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;OIDC 客户端 ID。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;clientSecret&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;OIDC 客户端密钥。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;audience&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;OIDC audience 参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;scope&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;OIDC scope 参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tokenEndpointURL&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;OIDC 令牌端点 URL。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;additionalEndpointParams&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;map[string]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;附加的端点参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;trustedCaFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;信任的 CA 证书文件路径，用于验证 OIDC 服务器的 TLS 证书。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;insecureSkipVerify&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;跳过 TLS 证书验证，不推荐在生产环境使用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;proxyURL&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;访问 OIDC 令牌端点时使用的代理服务器 URL。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;tokenSource&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#valuesource&#34;&gt;ValueSource&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;从外部来源动态获取 OIDC token 的配置。配置此字段后，其他 OIDC 配置字段将被忽略。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;virtualnetconfig&#34;&gt;VirtualNetConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;address&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;虚拟网络接口的 IP 地址和网段，格式为 CIDR (例如 &amp;ldquo;100.86.0.1/24&amp;rdquo;)。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>设置 BasicAuth 鉴权</title>
      <link>/frpdoc/zh-cn/docs/features/http-https/auth/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/http-https/auth/</guid>
      <description>&lt;p&gt;由于所有客户端共用一个 frps 的 HTTP 服务端口，任何知道你的域名和 URL 的人都能访问到你部署在内网的服务，但是在某些场景下需要确保只有限定的用户才能访问。&lt;/p&gt;&#xA;&lt;p&gt;frp 支持通过 HTTP Basic Auth 来保护你的 web 服务，使用户需要通过用户名和密码才能访问到你的服务。&lt;/p&gt;&#xA;&lt;p&gt;该功能目前仅限于 HTTP 类型的代理，需要在 frpc 的代理配置中添加用户名和密码的设置。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;test.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;httpUser&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;httpPassword&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过浏览器访问 &lt;code&gt;http://test.yourdomain.com&lt;/code&gt;，需要输入配置的用户名和密码才能访问。&lt;/p&gt;</description>
    </item>
    <item>
      <title>代理配置</title>
      <link>/frpdoc/zh-cn/docs/reference/proxy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/reference/proxy/</guid>
      <description>&lt;h3 id=&#34;proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;name&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理类型，可选值为 tcp, udp, http, https, tcpmux, stcp, sudp, xtcp。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;enabled&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;*bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用该代理，默认为 true。设置为 false 可禁用该代理，用于单独控制每个代理的启用状态。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;annotations&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;map[string]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理的注释信息，会被展示在 server 的 dashboard 中。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;transport&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxytransport&#34;&gt;ProxyTransport&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理网络层配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;metadatas&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;map[string]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;附加元数据，会传递给服务端插件，提供附加能力。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;loadBalancer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#loadbalancerconfig&#34;&gt;LoadBalancerConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;负载均衡配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;healthCheck&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#healthcheckconfig&#34;&gt;HealthCheckConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;健康检查配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybackend&#34;&gt;ProxyBackend&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;代理后端服务配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;proxytransport&#34;&gt;ProxyTransport&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;useEncryption&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用加密功能，启用后该代理和服务端之间的通信内容都会被加密传输，如果 frpc 启用了全局 TLS，则不需要再启用此参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;useCompression&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用压缩功能，启用后该代理和服务端之间的通信内容都会被压缩传输。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bandwidthLimit&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;设置单个 proxy 的带宽限流，单位为 MB 或 KB，0 表示不限制，如果启用，默认会作用于对应的 frpc。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bandwidthLimitMode&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;限流类型，客户端限流或服务端限流，可选值为 client 和 server，默认为客户端限流。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;proxyProtocolVersion&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;启用 proxy protocol 协议的版本，可选值为 v1 和 v2。如果启用，则 frpc 和本地服务建立连接后会发送 proxy protocol 的协议，包含了原请求的 IP 地址和端口等内容。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;proxybackend&#34;&gt;ProxyBackend&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;localIP&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;被代理的本地服务 IP，默认为 127.0.0.1。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;localPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;被代理的本地服务端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;plugin&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../client-plugin&#34;&gt;ClientPluginOptions&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;客户端插件配置，如果启用了客户端插件，则不需要配置 localIP 和 localPort，流量会由客户端插件接管。不同的插件类型对应不同的配置，例如 &lt;a href=&#34;../client-plugin#httpproxypluginoptions&#34;&gt;HTTPProxyPluginOptions&lt;/a&gt;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;loadbalancerconfig&#34;&gt;LoadBalancerConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;group&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;负载均衡分组名称，用户请求会以轮询的方式发送给同一个 group 中的代理。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;groupKey&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;负载均衡分组密钥，用于对负载均衡分组进行鉴权，groupKey 相同的代理才会被加入到同一个分组中。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;healthcheckconfig&#34;&gt;HealthCheckConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;健康检查类型，可选值为 tcp 和 http，配置后启用健康检查功能，tcp 是连接成功则认为服务健康，http 要求接口返回 2xx 的状态码则认为服务健康。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;timeoutSeconds&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;健康检查超时时间(秒)，默认为 3s。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;maxFailed&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;健康检查连续错误次数，连续检查错误多少次认为服务不健康，默认为 1。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;intervalSeconds&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;健康检查周期(秒)，每隔多长时间进行一次健康检查，默认为 10s。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;path&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;健康检查的 HTTP 接口，如果健康检查类型是 http，则需要配置此参数，指定发送 http 请求的 path，例如 &lt;code&gt;/health&lt;/code&gt;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpHeaders&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#httpheader&#34;&gt;[]HTTPHeader&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;健康检查的 HTTP 请求头，仅在健康检查类型是 http 时生效。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;domainconfig&#34;&gt;DomainConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;customDomains&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;自定义域名列表。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;subdomain&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;子域名。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tcpproxyconfig&#34;&gt;TCPProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;remotePort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端绑定的端口，用户访问服务端此端口的流量会被转发到对应的本地服务。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;udpproxyconfig&#34;&gt;UDPProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;remotePort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;服务端绑定的端口，用户访问服务端此端口的流量会被转发到对应的本地服务。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;httpproxyconfig&#34;&gt;HTTPProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#domainconfig&#34;&gt;DomainConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;域名配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;locations&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;URL 路由配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpUser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP Basic Auth 用户名。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpPassword&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP Basic Auth 密码。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;hostHeaderRewrite&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;替换 Host Header。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;requestHeaders&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#headeroperations&#34;&gt;HeaderOperations&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;对请求 Header 的操作配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;responseHeaders&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#headeroperations&#34;&gt;HeaderOperations&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;对响应 Header 的操作配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;routeByHTTPUser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;根据 HTTP Basic Auth user 路由。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;httpsproxyconfig&#34;&gt;HTTPSProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#domainconfig&#34;&gt;DomainConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;域名配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tcpmuxproxyconfig&#34;&gt;TCPMuxProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#domainconfig&#34;&gt;DomainConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;域名配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpUser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;用户名，如果配置此参数，通过 HTTP CONNECT 建立连接时需要通过 Proxy-Authorization 附加上正确的身份信息。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpPassword&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;密码。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;routeByHTTPUser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;根据 HTTP Basic Auth user 路由。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;multiplexer&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;复用器类型，目前仅支持 httpconnect。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;stcpproxyconfig&#34;&gt;STCPProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;secretKey&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;密钥，服务端和访问端的密钥需要一致，访问端才能访问到服务端。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;allowUsers&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;允许访问的 visitor 用户列表，默认只允许同一用户下的 visitor 访问，配置为 * 则允许任何 visitor 访问。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;xtcpproxyconfig&#34;&gt;XTCPProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;secretKey&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;密钥，服务端和访问端的密钥需要一致，访问端才能访问到服务端。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;allowUsers&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;允许访问的 visitor 用户列表，默认只允许同一用户下的 visitor 访问，配置为 * 则允许任何 visitor 访问。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;natTraversal&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#nattraversalconfig&#34;&gt;NatTraversalConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;NAT 穿透配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;sudpproxyconfig&#34;&gt;SUDPProxyConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/proxy/#proxybaseconfig&#34;&gt;ProxyBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;secretKey&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;密钥，服务端和访问端的密钥需要一致，访问端才能访问到服务端。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;allowUsers&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;[]string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;允许访问的 visitor 用户列表，默认只允许同一用户下的 visitor 访问，配置为 * 则允许任何 visitor 访问。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>自定义二级域名</title>
      <link>/frpdoc/zh-cn/docs/features/http-https/subdomain/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/http-https/subdomain/</guid>
      <description>&lt;p&gt;在多人同时使用一个 frps 时，通过自定义二级域名的方式来使用会更加方便。&lt;/p&gt;&#xA;&lt;p&gt;通过在 frps 的配置文件中配置 &lt;code&gt;subdomainHost&lt;/code&gt;，就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 &lt;code&gt;customDomains&lt;/code&gt;，而是配置一个 &lt;code&gt;subdomain&lt;/code&gt; 参数。&lt;/p&gt;&#xA;&lt;p&gt;只需要将 &lt;code&gt;*.{subdomainHost}&lt;/code&gt; 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名，通过 &lt;code&gt;{subdomain}.{subdomainHost}&lt;/code&gt; 来访问自己的 web 服务。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frps.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;subdomainHost&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;frps.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将泛域名 &lt;code&gt;*.frps.com&lt;/code&gt; 解析到 frps 所在服务器的 IP 地址。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;subdomain&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;frps 和 frpc 都启动成功后，通过 &lt;code&gt;test.frps.com&lt;/code&gt; 就可以访问到内网的 web 服务。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;注：如果 frps 配置了 &lt;code&gt;subdomainHost&lt;/code&gt;，则 &lt;code&gt;customDomains&lt;/code&gt; 中不能是属于 &lt;code&gt;subdomainHost&lt;/code&gt; 的子域名或者泛域名。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;同一个 HTTP 或 HTTPS 类型的代理中 &lt;code&gt;customDomains&lt;/code&gt; 和 &lt;code&gt;subdomain&lt;/code&gt; 可以同时配置。&lt;/p&gt;</description>
    </item>
    <item>
      <title>访问者配置</title>
      <link>/frpdoc/zh-cn/docs/reference/visitor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/reference/visitor/</guid>
      <description>&lt;h3 id=&#34;visitorbaseconfig&#34;&gt;VisitorBaseConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;name&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;访问者名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;访问者类型，可选值为 stcp, sudp, xtcp。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;enabled&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;*bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用该访问者，默认为 true。设置为 false 可禁用该访问者，用于单独控制每个访问者的启用状态。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;transport&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/visitor/#visitortransport&#34;&gt;VisitorTransport&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;访问者网络层配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;secretKey&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;密钥，服务端和访问端的密钥需要一致，访问端才能访问到服务端。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;serverUser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;要访问的 proxy 所属的用户名，如果为空，则默认为当前用户。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;serverName&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;要访问的 proxy 名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bindAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;visitor 监听的本地地址，通过访问监听的地址和端口，连接到远端代理的服务。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bindPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;visitor 监听的本地端口，如果为 -1，表示不需要监听物理端口，通常可以用于作为其他 visitor 的 fallback。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;plugin&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../visitor-plugin&#34;&gt;VisitorPluginOptions&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;访问者插件配置，用于扩展 visitor 功能。不同的插件类型对应不同的配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;visitortransport&#34;&gt;VisitorTransport&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;useEncryption&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用加密功能，启用后该代理和服务端之间的通信内容都会被加密传输，如果 frpc 启用了全局 TLS，则不需要再启用此参数。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;useCompression&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用压缩功能，启用后该代理和服务端之间的通信内容都会被压缩传输。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;stcpvisitorconfig&#34;&gt;STCPVisitorConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/visitor/#visitorbaseconfig&#34;&gt;VisitorBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;sudpvisitorconfig&#34;&gt;SUDPVisitorConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/visitor/#visitorbaseconfig&#34;&gt;VisitorBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;xtcpvisitorconfig&#34;&gt;XTCPVisitorConfig&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;/frpdoc/zh-cn/docs/reference/visitor/#visitorbaseconfig&#34;&gt;VisitorBaseConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;基础配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;protocol&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;隧道底层通信协议，可选 quic 和 kcp，默认为 quic。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;keepTunnelOpen&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否保持隧道打开，如果开启，会定期检查隧道状态并尝试保持打开。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;maxRetriesAnHour&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;每小时尝试打开隧道的次数，默认值为 8。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;minRetryInterval&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;重试打开隧道的最小间隔时间，单位: 秒，默认为 90s。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;fallbackTo&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;回退到的其他 visitor 名称。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;fallbackTimeoutMs&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;连接建立超过多长时间(ms) 后回退到其他 visitor。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;natTraversal&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#nattraversalconfig&#34;&gt;NatTraversalConfig&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;NAT 穿透配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>路由</title>
      <link>/frpdoc/zh-cn/docs/features/http-https/route/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/http-https/route/</guid>
      <description>&lt;h2 id=&#34;url-路由&#34;&gt;URL 路由&lt;/h2&gt;&#xA;&lt;p&gt;frp 支持根据请求的 URL 路径路由转发到不同的后端服务。&lt;/p&gt;&#xA;&lt;p&gt;通过配置文件中的 locations 字段指定一个或多个 proxy 能够匹配的 URL 前缀(目前仅支持最大前缀匹配，之后会考虑正则匹配)。例如指定 &lt;code&gt;locations = &amp;quot;/news&amp;quot;&lt;/code&gt;，则所有 URL 以 &lt;code&gt;/news&lt;/code&gt; 开头的请求都会被转发到这个服务。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web01&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;web.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;locations&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web02&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;81&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;web.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;locations&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/news&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/about&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;按照上述的示例配置后，&lt;code&gt;web.yourdomain.com&lt;/code&gt; 这个域名下所有以 &lt;code&gt;/news&lt;/code&gt; 以及 &lt;code&gt;/about&lt;/code&gt; 作为前缀的 URL 请求都会被转发到 web02，其余的请求会被转发到 web01。&lt;/p&gt;</description>
    </item>
    <item>
      <title>通过 SSH 访问内网机器</title>
      <link>/frpdoc/zh-cn/docs/examples/ssh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/ssh/</guid>
      <description>&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在具有公网 IP 的机器上部署 frps&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;部署 frps 并编辑 frps.toml 文件。以下是简化的配置，其中设置了 frp 服务器用于接收客户端连接的端口：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在需要被访问的内网机器上部署 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;部署 frpc 并编辑 frpc.toml 文件，假设 frps 所在服务器的公网 IP 地址为 x.x.x.x。以下是示例配置：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;localIP&lt;/code&gt; 和 &lt;code&gt;localPort&lt;/code&gt; 配置为需要从公网访问的内网服务的地址和端口。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;remotePort&lt;/code&gt; 表示在 frp 服务端监听的端口，访问此端口的流量将被转发到本地服务的相应端口。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;启动 frps 和 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;通过 SSH 访问内网机器&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;使用以下命令通过 SSH 访问内网机器，假设用户名为 test：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -o &lt;span class=&#34;nv&#34;&gt;Port&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;6000&lt;/span&gt; test@x.x.x.x&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;frp 将请求发送到 &lt;code&gt;x.x.x.x:6000&lt;/code&gt; 的流量转发到内网机器的 22 端口。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>客户端插件配置</title>
      <link>/frpdoc/zh-cn/docs/reference/client-plugin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/reference/client-plugin/</guid>
      <description>&lt;h3 id=&#34;httpproxypluginoptions&#34;&gt;HTTPProxyPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;http_proxy&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpUser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP 代理用户名。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpPassword&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP 代理密码。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;socks5pluginoptions&#34;&gt;Socks5PluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;socks5&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;username&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;用户名。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;password&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;密码。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;staticfilepluginoptions&#34;&gt;StaticFilePluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;static_file&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;localPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;静态文件所在本地路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;stripPrefix&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;去除用户 HTTP 请求 Path 的特定前缀。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpUser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP Basic Auth 用户名。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;httpPassword&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;HTTP Basic Auth 密码。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;unixdomainsocketpluginoptions&#34;&gt;UnixDomainSocketPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;unix_domain_socket&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;unixPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;UNIX 域套接字的地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;http2httpspluginoptions&#34;&gt;HTTP2HTTPSPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;http2https&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;localAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;本地 HTTPS 服务地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;hostHeaderRewrite&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;替换 Host header。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;requestHeaders&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#headeroperations&#34;&gt;HeaderOperations&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;对请求 Header 的操作配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;https2httppluginoptions&#34;&gt;HTTPS2HTTPPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;https2http&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;localAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;本地 HTTPS 服务地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;hostHeaderRewrite&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;替换 Host header。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;requestHeaders&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#headeroperations&#34;&gt;HeaderOperations&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;对请求 Header 的操作配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;enableHTTP2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用 HTTP/2，默认启用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;crtPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 证书文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;keyPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 密钥文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;https2httpspluginoptions&#34;&gt;HTTPS2HTTPSPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;https2https&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;localAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;本地 HTTPS 服务地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;hostHeaderRewrite&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;替换 Host header。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;requestHeaders&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;../common#headeroperations&#34;&gt;HeaderOperations&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;对请求 Header 的操作配置。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;enableHTTP2&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;是否启用 HTTP/2，默认启用。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;crtPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 证书文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;keyPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 密钥文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tls2rawpluginoptions&#34;&gt;TLS2RawPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;tls2raw&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;localAddr&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;本地服务地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;crtPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 证书文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;keyPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;TLS 密钥文件路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;virtualnetpluginoptions&#34;&gt;VirtualNetPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;virtual_net&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>访问者插件配置</title>
      <link>/frpdoc/zh-cn/docs/reference/visitor-plugin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/reference/visitor-plugin/</guid>
      <description>&lt;h3 id=&#34;virtualnetvisitorpluginoptions&#34;&gt;VirtualNetVisitorPluginOptions&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;type&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;插件类型，设置为 &amp;ldquo;virtual_net&amp;rdquo;。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;destinationIP&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;要访问的目标虚拟 IP 地址。通常是服务端的虚拟网络地址。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Yes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>多个 SSH 服务复用同一端口</title>
      <link>/frpdoc/zh-cn/docs/examples/multiple-ssh-over-same-port/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/multiple-ssh-over-same-port/</guid>
      <description>&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在具有公网 IP 的机器上部署 frps&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;修改 frps.toml 文件以包含以下内容（这里使用了最简化的配置）：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;tcpmuxHTTPConnectPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5002&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在内网机器 A 上部署 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;创建 frpc 配置文件，例如 frpc.toml，然后将以下内容添加到配置文件中：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ssh1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcpmux&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multiplexer&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;httpconnect&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;machine-a.example.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在内网机器 B 上部署另一个 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;创建 frpc 配置文件，例如 frpc.toml，然后将以下内容添加到配置文件中：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ssh2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcpmux&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multiplexer&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;httpconnect&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;machine-b.example.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;通过 SSH ProxyCommand 访问内网机器 A&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;使用 SSH ProxyCommand 访问内网机器 A，假设用户名为 test。使用以下命令：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -o &lt;span class=&#34;s1&#34;&gt;&amp;#39;proxycommand socat - PROXY:x.x.x.x:%h:%p,proxyport=5002&amp;#39;&lt;/span&gt; test@machine-a.example.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;要访问内网机器 B，只需更改域名，假设用户名仍然为 test：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -o &lt;span class=&#34;s1&#34;&gt;&amp;#39;proxycommand socat - PROXY:x.x.x.x:%h:%p,proxyport=5002&amp;#39;&lt;/span&gt; test@machine-b.example.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;通过按照以上步骤进行配置，您可以实现多个 SSH 服务复用同一端口，以便在具有公网 IP 的机器上进行访问。&lt;/p&gt;</description>
    </item>
    <item>
      <title>配置文件</title>
      <link>/frpdoc/zh-cn/docs/features/common/configure/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/configure/</guid>
      <description>&lt;p&gt;从 v0.52.0 版本开始，frp 开始支持 TOML、YAML 和 JSON 作为配置文件格式。&lt;/p&gt;&#xA;&lt;p&gt;请注意，INI 已被弃用，并将在未来的发布中移除。新功能只能在TOML、YAML 或 JSON 中使用。希望使用这些新功能的用户应相应地切换其配置格式。&lt;/p&gt;&#xA;&lt;h2 id=&#34;格式&#34;&gt;格式&lt;/h2&gt;&#xA;&lt;p&gt;可使用 TOML/YAML/JSON 任何一个您喜欢的格式来编写配置文件，frp 会自动适配进行解析。&lt;/p&gt;&#xA;&lt;p&gt;文档示例主要通过 TOML 编写，如下的示例配置将本地 SSH 服务穿透到公网。&lt;/p&gt;&#xA;&lt;p&gt;frps 配置：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;frpc 配置：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同一个客户端可以配置多个代理，但是 name 必须确保唯一。&lt;/p&gt;&#xA;&lt;p&gt;不同的客户端之间，可以通过配置不同的 user 来确保代理名称唯一。&lt;/p&gt;&#xA;&lt;h2 id=&#34;模版渲染&#34;&gt;模版渲染&lt;/h2&gt;&#xA;&lt;p&gt;配置文件支持使用环境变量进行模版渲染，模版格式采用 Go 的标准格式。&lt;/p&gt;&#xA;&lt;p&gt;示例配置如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{{ .Envs.FRP_SERVER_ADDR }}&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{{&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Envs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;FRP_SSH_REMOTE_PORT&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动 frpc 程序：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;export FRP_SERVER_ADDR=&amp;#34;x.x.x.x&amp;#34;&#xD;&#xA;export FRP_SSH_REMOTE_PORT=&amp;#34;6000&amp;#34;&#xD;&#xA;./frpc -c ./frpc.toml&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;frpc 会自动使用环境变量渲染配置文件模版，所有环境变量需要以 &lt;code&gt;.Envs&lt;/code&gt; 为前缀。&lt;/p&gt;</description>
    </item>
    <item>
      <title>通过自定义域名访问内网的 Web 服务</title>
      <link>/frpdoc/zh-cn/docs/examples/vhost-http/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/vhost-http/</guid>
      <description>&lt;p&gt;HTTP 类型的代理非常适合将内网的 Web 服务通过自定义域名提供给外部用户。相比于 TCP 类型代理，HTTP 代理不仅可以复用端口，还提供了基于 HTTP 协议的许多功能。&lt;/p&gt;&#xA;&lt;p&gt;HTTPS 与此类似，但是需要注意，frp 的 https 代理需要本地服务是 HTTPS 服务，frps 端不会做 TLS 终止。也可以结合 https2http 插件来实现将本地的 HTTP 服务以 HTTPS 协议暴露出去。&lt;/p&gt;&#xA;&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frps.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frps.toml 文件中添加以下内容，以指定 HTTP 请求的监听端口为 8080：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;vhostHTTPPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果需要配置 HTTPS 代理，还需要设置 &lt;code&gt;vhostHTTPSPort&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frpc.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frpc.toml 文件中添加以下内容，确保设置了正确的服务器 IP 地址、本地 Web 服务监听端口和自定义域名：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;www.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;www.yourdomain2.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;启动 frps 和 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;域名解析&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;将 &lt;code&gt;www.yourdomain.com&lt;/code&gt; 和 &lt;code&gt;www.yourdomain2.com&lt;/code&gt; 的域名 A 记录解析到服务器的 IP 地址 &lt;code&gt;x.x.x.x&lt;/code&gt;。如果服务器已经有对应的域名，您还可以将 CNAME 记录解析到原始域名。另外，通过修改 HTTP 请求的 Host 字段也可以实现相同的效果。&lt;/p&gt;</description>
    </item>
    <item>
      <title>监控</title>
      <link>/frpdoc/zh-cn/docs/features/common/monitor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/monitor/</guid>
      <description>&lt;p&gt;目前，frps 服务端支持两种监控系统：内存监控和 Prometheus 监控。&lt;/p&gt;&#xA;&lt;h2 id=&#34;内存监控&#34;&gt;内存监控&lt;/h2&gt;&#xA;&lt;p&gt;内存中存储的监控数据主要用于 Dashboard 展示。当在 frps 配置中开启 Dashboard 功能后，内存监控默认启用。&lt;/p&gt;&#xA;&lt;p&gt;请注意，内存中的监控数据在每次重启进程后会被清空，或者保留 7 天。监控数据可以通过 Dashboard 的地址发送 HTTP 请求获取，但目前此 API 尚不规范，不建议直接使用。&lt;/p&gt;&#xA;&lt;h2 id=&#34;prometheus-监控&#34;&gt;Prometheus 监控&lt;/h2&gt;&#xA;&lt;p&gt;由于设计问题，Prometheus 对外提供的查询接口与 Dashboard 的地址重用，因此要使用 Prometheus 监控，必须首先启用 Dashboard。&lt;/p&gt;&#xA;&lt;p&gt;在 frps.toml 中启用 Dashboard 并设置 &lt;code&gt;enablePrometheus = true&lt;/code&gt;，然后你可以通过访问 &lt;code&gt;http://{dashboard_addr}/metrics&lt;/code&gt; 来获取 Prometheus 的监控数据。&lt;/p&gt;</description>
    </item>
    <item>
      <title>转发 DNS 查询请求</title>
      <link>/frpdoc/zh-cn/docs/examples/dns/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/dns/</guid>
      <description>&lt;p&gt;DNS 查询请求通常使用 UDP 协议，而 frp 支持对内网 UDP 服务的穿透，配置方式与 TCP 类似。&lt;/p&gt;&#xA;&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frps.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frps.toml 文件中添加以下内容：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frpc.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frpc.toml 文件中添加以下内容：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;dns&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;udp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;8.8.8.8&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;53&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;请注意，这里示例中反代了 Google 的 DNS 查询服务器的地址，仅用于测试 UDP 代理，并没有实际意义。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;启动 frps 和 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;分别启动 frps 和 frpc。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;测试 DNS 查询请求&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;使用以下命令通过 &lt;code&gt;dig&lt;/code&gt; 工具测试 UDP 包转发是否成功，预期会返回 &lt;code&gt;www.baidu.com&lt;/code&gt; 域名的解析结果：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dig @x.x.x.x -p &lt;span class=&#34;m&#34;&gt;6000&lt;/span&gt; www.baidu.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>转发 Unix 域套接字</title>
      <link>/frpdoc/zh-cn/docs/examples/unix-domain-socket/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/unix-domain-socket/</guid>
      <description>&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frps.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frps.toml 文件中添加以下内容：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frpc.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frpc.toml 文件中添加以下内容，确保设置正确的 Unix 域套接字路径：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;unix_domain_socket&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;plugin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;unix_domain_socket&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Unix 域套接字路径&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;unixPath&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/var/run/docker.sock&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;启动 frps 和 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;使用 curl 查看 Docker 版本信息&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://x.x.x.x:6000/version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>对外提供简单的文件访问服务</title>
      <link>/frpdoc/zh-cn/docs/examples/static-file/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/static-file/</guid>
      <description>&lt;p&gt;通过使用 &lt;code&gt;static_file&lt;/code&gt; 插件，您可以轻松地提供一个基于 HTTP 的文件访问服务，让其他人可以访问您指定的文件。&lt;/p&gt;&#xA;&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frps.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frps.toml 文件中添加以下内容：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frpc.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frpc.toml 文件中添加以下内容，确保设置合适的文件路径、用户名和密码：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test_static_file&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;plugin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;static_file&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 本地文件目录，对外提供访问&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPath&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/tmp/file&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# URL 中的前缀，将被去除，保留的内容即为要访问的文件路径&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;stripPrefix&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;static&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;httpUser&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;httpPassword&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;请根据实际情况修改 &lt;code&gt;localPath&lt;/code&gt;、&lt;code&gt;stripPrefix&lt;/code&gt;、&lt;code&gt;httpUser&lt;/code&gt; 和 &lt;code&gt;httpPassword&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;启动 frps 和 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;通过浏览器访问文件&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;使用浏览器访问 &lt;code&gt;http://x.x.x.x:6000/static/&lt;/code&gt;，以查看位于 &lt;code&gt;/tmp/file&lt;/code&gt; 目录下的文件。系统会要求输入您设置的用户名和密码。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>身份认证</title>
      <link>/frpdoc/zh-cn/docs/features/common/authentication/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/authentication/</guid>
      <description>&lt;p&gt;目前 frpc 和 frps 之间支持两种身份验证方式，&lt;code&gt;token&lt;/code&gt; 和 &lt;code&gt;oidc&lt;/code&gt;，默认为 &lt;code&gt;token&lt;/code&gt;。这些认证方式允许您验证客户端与服务端之间的通信，并确保只有授权用户能够建立连接。&lt;/p&gt;&#xA;&lt;h2 id=&#34;token&#34;&gt;Token&lt;/h2&gt;&#xA;&lt;p&gt;Token 身份认证是一种简单的身份认证方式，只需要在 frp 的客户端 frpc 和服务端 frps 配置文件中配置相同的 token 即可。&lt;/p&gt;&#xA;&lt;h3 id=&#34;配置示例&#34;&gt;配置示例&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frps.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;token&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;token&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;从文件加载-token&#34;&gt;从文件加载 Token&lt;/h3&gt;&#xA;&lt;p&gt;&lt;em&gt;Added in v0.64.0&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;frp 支持使用 &lt;code&gt;tokenSource&lt;/code&gt; 从文件中加载认证 token，而不是在配置文件中硬编码。这个功能可以避免在配置文件中直接暴露敏感信息。&lt;/p&gt;&#xA;&lt;h4 id=&#34;配置方式&#34;&gt;配置方式&lt;/h4&gt;&#xA;&lt;p&gt;tokenSource 与 token 字段互斥，只能选择其中一种方式配置。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;服务端配置示例：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frps.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;file&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;file&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/etc/frp/server_token&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;客户端配置示例：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;file&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tokenSource&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;file&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/etc/frp/client_token&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;注意事项&#34;&gt;注意事项&lt;/h4&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;token 文件应该设置适当的权限（如 600），确保只有运行 frp 的用户可以读取&lt;/li&gt;&#xA;&lt;li&gt;文件中的 token 会自动去除首尾空白字符&lt;/li&gt;&#xA;&lt;li&gt;tokenSource 在配置加载时解析，不支持运行时动态重新加载&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;通过外部命令获取-token&#34;&gt;通过外部命令获取 Token&lt;/h3&gt;&#xA;&lt;p&gt;&lt;em&gt;Added in v0.66.0&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>为本地 HTTP 服务启用 HTTPS</title>
      <link>/frpdoc/zh-cn/docs/examples/https2http/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/https2http/</guid>
      <description>&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frps.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;vhostHTTPSPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;443&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frpc.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test_htts2http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;test.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;plugin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https2http&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1:80&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# HTTPS 证书相关的配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;crtPath&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;./server.crt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;keyPath&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;./server.key&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;hostHeaderRewrite&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;requestHeaders&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;set&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;x-from-where&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;frp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;请注意，您需要根据您的域名和证书路径自行更改上述配置。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;启动 frps 和 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;访问 HTTPS 服务&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;打开您的 Web 浏览器，访问 &lt;code&gt;https://test.yourdomain.com&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;通过按照以上步骤进行配置，您将能够为本地 HTTP 服务启用 HTTPS，以实现安全的外部访问。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web 界面</title>
      <link>/frpdoc/zh-cn/docs/features/common/ui/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/ui/</guid>
      <description>&lt;p&gt;目前 frpc 和 frps 分别内置了相应的 Web 界面方便用户使用。&lt;/p&gt;&#xA;&lt;h2 id=&#34;服务端-dashboard&#34;&gt;服务端 Dashboard&lt;/h2&gt;&#xA;&lt;p&gt;服务端 Dashboard 使用户可以通过浏览器查看 frp 的状态以及代理统计信息。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;注：Dashboard 尚未针对大量的 proxy 数据展示做优化，如果出现 Dashboard 访问较慢的情况，请不要启用此功能。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;需要在 frps.toml 中指定 dashboard 服务使用的端口，即可开启此功能：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 默认为 127.0.0.1，如果需要公网访问，需要修改为 0.0.0.0。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;0.0.0.0&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;port&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7500&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# dashboard 用户名密码，可选，默认为空&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;打开浏览器通过 &lt;code&gt;http://[server addr]:7500&lt;/code&gt; 访问 Dashboard 界面，输入用户名密码 &lt;code&gt;admin&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;你也可以通过配置 TLS 证书来启用 HTTPS 接口:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;certFile&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;server.crt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;tls&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;keyFile&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;server.key&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;客户端管理界面&#34;&gt;客户端管理界面&lt;/h2&gt;&#xA;&lt;p&gt;frpc 内置的 Admin UI 可以帮助用户通过浏览器来查询和管理客户端的 proxy 状态和配置。&lt;/p&gt;&#xA;&lt;p&gt;需要在 frpc.toml 中指定 admin 服务使用的端口，即可开启此功能：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;port&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7400&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;打开浏览器通过 &lt;code&gt;http://127.0.0.1:7400&lt;/code&gt; 访问 Admin UI。&lt;/p&gt;</description>
    </item>
    <item>
      <title>安全地暴露内网服务</title>
      <link>/frpdoc/zh-cn/docs/examples/stcp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/stcp/</guid>
      <description>&lt;p&gt;某些内网服务，如果直接暴露在公网上，可能存在安全风险。使用 &lt;code&gt;stcp(secret tcp)&lt;/code&gt; 类型的代理可以让您安全地将内网服务暴露给经过授权的用户，这需要访问者也部署 frpc 客户端。&lt;/p&gt;&#xA;&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置 frps.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frps.toml 文件中添加以下内容：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;部署 frpc 客户端并配置&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在需要将内网服务暴露到公网的机器上部署 frpc，并创建如下配置：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;secret_ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;stcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 只有与此处设置的 secretKey 一致的用户才能访问此服务&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;secretKey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abcdefg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在访问者机器上部署并配置 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在想要访问内网服务的机器上也部署 frpc，并创建如下配置：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;visitors&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;secret_ssh_visitor&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;stcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 要访问的 stcp 代理的名字&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;secret_ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;secretKey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abcdefg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 绑定本地端口以访问 SSH 服务&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;通过 SSH 访问内网机器&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;使用以下命令通过 SSH 访问内网机器，假设用户名为 test：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -o &lt;span class=&#34;nv&#34;&gt;Port&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;6000&lt;/span&gt; test@127.0.0.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>点对点内网穿透</title>
      <link>/frpdoc/zh-cn/docs/examples/xtcp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/xtcp/</guid>
      <description>&lt;p&gt;frp 提供了一种新的代理类型 &lt;code&gt;xtcp&lt;/code&gt;，用于在需要传输大量数据且不希望流量经过服务器的情况下实现内网穿透。&lt;/p&gt;&#xA;&lt;p&gt;与 &lt;code&gt;stcp&lt;/code&gt; 类似，使用 &lt;code&gt;xtcp&lt;/code&gt; 需要在两端都部署 frpc 以建立直接连接。&lt;/p&gt;&#xA;&lt;p&gt;需要注意的是，&lt;code&gt;xtcp&lt;/code&gt; 并不适用于所有类型的 NAT 设备，如果穿透失败，可以尝试使用 &lt;code&gt;stcp&lt;/code&gt; 代理。&lt;/p&gt;&#xA;&lt;h3 id=&#34;步骤&#34;&gt;步骤&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;配置需要暴露到外网的机器上的 frpc.toml 文件&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frpc.toml 文件中添加以下内容，确保设置了正确的服务器地址和端口以及共享密钥 (&lt;code&gt;secretKey&lt;/code&gt;)，以及本地服务的 IP 地址和端口：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 如果默认的 STUN 服务器不可用，可以配置一个新的 STUN 服务器&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# natHoleStunServer = &amp;#34;xxx&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;p2p_ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;xtcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 只有共享密钥 (secretKey) 与服务器端一致的用户才能访问该服务&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;secretKey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abcdefg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localIP&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在想要访问内网服务的机器上部署 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在 frpc.toml 文件中添加以下内容，确保设置了正确的服务器地址和端口，共享密钥 (&lt;code&gt;secretKey&lt;/code&gt;) 以及要访问的 P2P 代理的名称：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 如果默认的 STUN 服务器不可用，可以配置一个新的 STUN 服务器&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# natHoleStunServer = &amp;#34;xxx&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;visitors&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;p2p_ssh_visitor&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;xtcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 要访问的 P2P 代理的名称&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverName&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;p2p_ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;secretKey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abcdefg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 绑定本地端口以访问 SSH 服务&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 如果需要自动保持隧道打开，将其设置为 true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# keepTunnelOpen = false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;通过 SSH 访问内网机器&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>虚拟网络 (VirtualNet)</title>
      <link>/frpdoc/zh-cn/docs/examples/virtualnet/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/examples/virtualnet/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：VirtualNet 是一个 Alpha 阶段的特性，目前不稳定，其配置方式和功能可能会在后续版本中随时调整变更。请勿在生产环境中使用此功能，仅建议用于测试和评估目的。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;概述&#34;&gt;概述&lt;/h3&gt;&#xA;&lt;p&gt;虚拟网络（VirtualNet）功能是 frp v0.62.0 中引入的 Alpha 特性，它允许 frp 通过 TUN 接口创建和管理客户端与访问者之间的虚拟网络连接，实现设备间的完整网络连通性。&lt;/p&gt;&#xA;&lt;p&gt;本示例将展示如何配置和使用 VirtualNet 功能。更多详细信息和工作原理，请参考 &lt;a href=&#34;/frpdoc/zh-cn/docs/features/common/virtualnet/&#34;&gt;虚拟网络 (VirtualNet)&lt;/a&gt; 特性文档。&lt;/p&gt;&#xA;&lt;h3 id=&#34;启用-virtualnet&#34;&gt;启用 VirtualNet&lt;/h3&gt;&#xA;&lt;p&gt;首先，由于 VirtualNet 目前是一个 Alpha 特性，您需要在配置中通过特性门控来启用它：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;featureGates&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;VirtualNet&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;示例配置&#34;&gt;示例配置&lt;/h3&gt;&#xA;&lt;p&gt;以下示例展示如何在两台机器之间建立虚拟网络连接：&lt;/p&gt;&#xA;&lt;h4 id=&#34;服务端配置-机器-a&#34;&gt;服务端配置 (机器 A)&lt;/h4&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在 frpc.toml 中配置虚拟网络地址&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml (服务端)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;featureGates&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;VirtualNet&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 配置虚拟网络接口&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;virtualNet&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;address&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;100.86.0.1/24&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;vnet-server&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;stcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;secretKey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;your-secret-key&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;plugin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;virtual_net&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;启动 frpc&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo frpc -c frpc.toml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：创建 TUN 接口需要 root 权限&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h4 id=&#34;客户端配置-机器-b&#34;&gt;客户端配置 (机器 B)&lt;/h4&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;在 frpc.toml 中配置访问者&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>负载均衡与健康检查</title>
      <link>/frpdoc/zh-cn/docs/features/common/load-balancer/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/load-balancer/</guid>
      <description>&lt;h2 id=&#34;负载均衡&#34;&gt;负载均衡&lt;/h2&gt;&#xA;&lt;p&gt;你可以将多个相同类型的代理加入到同一个 &lt;code&gt;group&lt;/code&gt; 中，以实现负载均衡的能力。&lt;/p&gt;&#xA;&lt;p&gt;目前支持的代理类型包括：&lt;code&gt;tcp&lt;/code&gt;, &lt;code&gt;http&lt;/code&gt;, &lt;code&gt;https&lt;/code&gt;, &lt;code&gt;tcpmux&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;loadBalancer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;group&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;loadBalancer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;groupKey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;123&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8081&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;loadBalancer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;group&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;loadBalancer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;groupKey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;123&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;当用户连接 frps 服务器的 80 端口时，frps 会将接收到的用户连接随机分发给其中一个存活的代理。这可以确保即使一台 frpc 机器挂掉，仍然有其他节点能够提供服务。&lt;/p&gt;&#xA;&lt;p&gt;对于 tcp 类型代理，需要确保 &lt;code&gt;groupKey&lt;/code&gt; 相同以进行权限验证，同时 &lt;code&gt;remotePort&lt;/code&gt; 也需一致。&lt;/p&gt;&#xA;&lt;p&gt;对于 http 类型代理，需要保证 &lt;code&gt;groupKey&lt;/code&gt;, &lt;code&gt;customDomains&lt;/code&gt;(自定义域名)，&lt;code&gt;subdomain&lt;/code&gt; 和 &lt;code&gt;locations&lt;/code&gt; 相同。&lt;/p&gt;&#xA;&lt;h2 id=&#34;健康检查&#34;&gt;健康检查&lt;/h2&gt;&#xA;&lt;p&gt;通过给代理配置健康检查参数，可以在要反向代理的服务出现故障时，将该服务从 frps 中摘除。结合负载均衡的功能，这可用于实现高可用架构，避免服务单点故障。&lt;/p&gt;&#xA;&lt;p&gt;要启用健康检查功能，需要在每个代理的配置中添加 &lt;code&gt;healthCheck.type = {type}&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;目前支持的类型有 &lt;code&gt;tcp&lt;/code&gt; 和 &lt;code&gt;http&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;对于 &lt;code&gt;tcp&lt;/code&gt;，只要能够建立连接，即认为服务正常。&lt;/li&gt;&#xA;&lt;li&gt;对于 &lt;code&gt;http&lt;/code&gt;，会发送一个 HTTP 请求，服务需要返回状态码 2xx 才会被视为正常。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;以下是 &lt;code&gt;tcp&lt;/code&gt; 示例配置：&lt;/p&gt;</description>
    </item>
    <item>
      <title>获取用户真实 IP</title>
      <link>/frpdoc/zh-cn/docs/features/common/realip/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/realip/</guid>
      <description>&lt;h2 id=&#34;http-x-forwarded-for&#34;&gt;HTTP X-Forwarded-For&lt;/h2&gt;&#xA;&lt;p&gt;目前只有 &lt;code&gt;http&lt;/code&gt; 类型的代理或者启用了 &lt;code&gt;https2http&lt;/code&gt; 或 &lt;code&gt;https2https&lt;/code&gt; 插件的代理支持这一功能。&lt;/p&gt;&#xA;&lt;p&gt;可以通过 HTTP 请求 header 中的 &lt;code&gt;X-Forwarded-For&lt;/code&gt; 来获取用户真实 IP，默认启用。&lt;/p&gt;&#xA;&lt;h2 id=&#34;proxy-protocol&#34;&gt;Proxy Protocol&lt;/h2&gt;&#xA;&lt;p&gt;frp 支持通过 &lt;code&gt;Proxy Protocol&lt;/code&gt; 协议来传递经过 frp 代理的请求的真实 IP。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Proxy Protocol&lt;/code&gt; 功能启用后，frpc 在和本地服务建立连接后，会先发送一段 &lt;code&gt;Proxy Protocol&lt;/code&gt; 的协议内容给本地服务，本地服务通过解析这一内容可以获得访问用户的真实 IP。所以不仅仅是 HTTP 服务，任何的 TCP 服务，只要支持这一协议，都可以获得用户的真实 IP 地址。&lt;/p&gt;&#xA;&lt;p&gt;UDP 代理类型也支持 Proxy Protocol 功能，能够保留真实客户端 IP 地址。&lt;/p&gt;&#xA;&lt;p&gt;需要注意的是，在代理配置中如果要启用此功能，需要本地的服务能够支持 &lt;code&gt;Proxy Protocol&lt;/code&gt; 这一协议，目前 nginx 和 haproxy 都能够很好的支持。&lt;/p&gt;&#xA;&lt;h3 id=&#34;tcphttps-代理示例&#34;&gt;TCP/HTTPS 代理示例&lt;/h3&gt;&#xA;&lt;p&gt;这里以 &lt;code&gt;HTTPS&lt;/code&gt; 类型为例:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;443&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;customDomains&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;test.yourdomain.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 目前支持 v1 和 v2 两个版本的 proxy protocol 协议。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxyProtocolVersion&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;v2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;只需要在代理配置中增加一行 &lt;code&gt;transport.proxyProtocolVersion = &amp;quot;v2&amp;quot;&lt;/code&gt; 即可开启此功能。&lt;/p&gt;</description>
    </item>
    <item>
      <title>端口范围映射</title>
      <link>/frpdoc/zh-cn/docs/features/common/range/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/range/</guid>
      <description>&lt;p&gt;&lt;em&gt;Added in v0.56.0&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;我们可以利用 Go template 的 range 语法结合内置的 &lt;code&gt;parseNumberRangePair&lt;/code&gt; 函数来实现端口范围映射。&lt;/p&gt;&#xA;&lt;p&gt;下面的示例，应用运行后会创建 8 个代理，名称为 &lt;code&gt;test-6000, test-6001 ... test-6007&lt;/code&gt;，分别将远端的端口映射到本地。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{{- range $_, $v := parseNumberRangePair &amp;#34;6000-6006,6007&amp;#34; &amp;#34;6000-6006,6007&amp;#34; }}&#xD;&#xA;[[proxies]]&#xD;&#xA;name = &amp;#34;tcp-{{ $v.First }}&amp;#34;&#xD;&#xA;type = &amp;#34;tcp&amp;#34;&#xD;&#xA;localPort = {{ $v.First }}&#xD;&#xA;remotePort = {{ $v.Second }}&#xD;&#xA;{{- end }}&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>客户端</title>
      <link>/frpdoc/zh-cn/docs/features/common/client/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/client/</guid>
      <description>&lt;h2 id=&#34;动态配置更新&#34;&gt;动态配置更新&lt;/h2&gt;&#xA;&lt;p&gt;当你需要修改 frpc 的代理配置时，你可以使用 &lt;code&gt;frpc reload&lt;/code&gt; 命令来实现动态加载配置文件，通常在数秒内完成代理的更新。&lt;/p&gt;&#xA;&lt;p&gt;要启用此功能，需要在 frpc 中启用 webServer，以提供 API 服务。配置如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;webServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;port&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7400&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后执行以下命令来重载配置：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;frpc reload -c ./frpc.toml&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;等待一段时间后，客户端将根据新的配置文件创建、更新或删除代理。需要注意的是，非代理相关的公共部分的参数除了 start 外目前无法被修改。&lt;/p&gt;&#xA;&lt;h2 id=&#34;命令行查看代理状态&#34;&gt;命令行查看代理状态&lt;/h2&gt;&#xA;&lt;p&gt;frpc 支持通过 &lt;code&gt;frpc status -c ./frpc.toml&lt;/code&gt; 命令查看代理的状态信息，此功能需要在 frpc 中启用 webServer。&lt;/p&gt;&#xA;&lt;h2 id=&#34;使用代理连接-frps&#34;&gt;使用代理连接 frps&lt;/h2&gt;&#xA;&lt;p&gt;在只能通过代理访问外部网络的环境中，frpc 支持通过 HTTP 或 SOCKS5 代理与 frps 建立连接。&lt;/p&gt;&#xA;&lt;p&gt;你可以通过设置系统环境变量 &lt;code&gt;HTTP_PROXY&lt;/code&gt; 或在 frpc 的配置文件中设置 &lt;code&gt;transport.proxyURL&lt;/code&gt; 参数来使用此功能。&lt;/p&gt;&#xA;&lt;p&gt;仅在 &lt;code&gt;transport.protocol = &amp;quot;tcp&amp;quot;&lt;/code&gt; 时生效。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverAddr&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;x.x.x.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;serverPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;7000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxyURL&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http://user:pwd@192.168.1.128:8080&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将 &lt;code&gt;transport.proxyURL&lt;/code&gt; 设置为 &lt;code&gt;socks5://user:pwd@192.168.1.128:8080&lt;/code&gt; 也可以连接到 SOCKS5 代理。&lt;/p&gt;</description>
    </item>
    <item>
      <title>服务端管理</title>
      <link>/frpdoc/zh-cn/docs/features/common/server-manage/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/server-manage/</guid>
      <description>&lt;h2 id=&#34;端口白名单&#34;&gt;端口白名单&lt;/h2&gt;&#xA;&lt;p&gt;为了防止端口被滥用，可以手动指定允许哪些端口被使用，在服务端配置中通过 &lt;code&gt;allowPorts&lt;/code&gt; 来指定：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frps.ini&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;allowPorts&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;start&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;end&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3000&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;single&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3001&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;single&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3003&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;start&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;end&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;50000&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;allowPorts&lt;/code&gt; 可以配置允许使用的某个指定端口或者是一个范围内的所有端口。&lt;/p&gt;&#xA;&lt;h2 id=&#34;端口复用&#34;&gt;端口复用&lt;/h2&gt;&#xA;&lt;p&gt;目前 frps 中的 &lt;code&gt;vhostHTTPPort&lt;/code&gt; 和 &lt;code&gt;vhostHTTPSPort&lt;/code&gt; 支持配置成和 &lt;code&gt;bindPort&lt;/code&gt; 为同一个端口，frps 会对连接的协议进行分析，之后进行不同的处理。&lt;/p&gt;&#xA;&lt;p&gt;例如在某些限制较严格的网络环境中，可以将 &lt;code&gt;bindPort&lt;/code&gt; 和 &lt;code&gt;vhostHTTPSPort&lt;/code&gt; 都设置为 443。&lt;/p&gt;&#xA;&lt;p&gt;需要注意的是，如果你想将 &lt;code&gt;vhostHTTPSPort&lt;/code&gt; 和 &lt;code&gt;bindPort&lt;/code&gt; 配置为相同的端口，需要首先将 &lt;code&gt;transport.tls.disableCustomTLSFirstByte&lt;/code&gt; 设置为false。&lt;/p&gt;&#xA;&lt;h2 id=&#34;限速&#34;&gt;限速&lt;/h2&gt;&#xA;&lt;h3 id=&#34;代理限速&#34;&gt;代理限速&lt;/h3&gt;&#xA;&lt;p&gt;目前支持在客户端的代理配置中设置代理级别的限速，限制单个 proxy 可以占用的带宽。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;localPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;transport&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bandwidthLimit&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;1MB&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在代理配置中增加 &lt;code&gt;transport.bandwidthLimit&lt;/code&gt; 字段启用此功能，目前仅支持 &lt;code&gt;MB&lt;/code&gt; 和 &lt;code&gt;KB&lt;/code&gt; 单位。&lt;/p&gt;&#xA;&lt;p&gt;限速能力默认在客户端实现，如果希望启用服务端限速，需要额外配置 &lt;code&gt;transport.bandwidthLimitMode = &amp;quot;server&amp;quot;&lt;/code&gt;。&lt;/p&gt;</description>
    </item>
    <item>
      <title>客户端插件</title>
      <link>/frpdoc/zh-cn/docs/features/common/client-plugin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/client-plugin/</guid>
      <description>&lt;p&gt;默认情况下，frpc 仅会将请求转发到本地 TCP 或 UDP 端口，即通过 &lt;code&gt;localIP&lt;/code&gt; 和 &lt;code&gt;localPort&lt;/code&gt; 指定的本地服务地址。&lt;/p&gt;&#xA;&lt;p&gt;通过启用客户端插件功能，可以在仅启动 frpc 的情况下内置一些简单的本地服务，从而实现通常需要额外启动其他服务才能实现的功能。&lt;/p&gt;&#xA;&lt;p&gt;在每个代理的配置中，你可以通过 &lt;code&gt;plugin&lt;/code&gt; 来配置要使用的插件和相关参数。启用客户端插件后，无需再配置 &lt;code&gt;localIP&lt;/code&gt; 和 &lt;code&gt;localPort&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;客户端插件可用于各种类型的代理，前提是插件本身支持的协议。例如，静态文件访问插件可以通过 TCP 或 HTTP 代理进行暴露。&lt;/p&gt;&#xA;&lt;p&gt;以下是使用 &lt;code&gt;http_proxy&lt;/code&gt; 插件的示例：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http_proxy&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;remotePort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;proxies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;plugin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http_proxy&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;httpUser&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;httpPassword&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;abc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;httpUser&lt;/code&gt; 和 &lt;code&gt;httpPassword&lt;/code&gt; 即为 &lt;code&gt;http_proxy&lt;/code&gt; 插件可选的配置参数。&lt;/p&gt;&#xA;&lt;p&gt;其他插件和相关配置请参考 &lt;a href=&#34;../../../reference/&#34;&gt;Reference&lt;/a&gt; 中的内容。&lt;/p&gt;</description>
    </item>
    <item>
      <title>服务端插件</title>
      <link>/frpdoc/zh-cn/docs/features/common/server-plugin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/server-plugin/</guid>
      <description>&lt;p&gt;frp 服务端插件的作用是在不侵入自身代码的前提下，扩展 frp 服务端的能力。&lt;/p&gt;&#xA;&lt;p&gt;frp 服务端插件会以单独进程的形式运行，并且监听在一个端口上，对外提供 RPC 接口，响应 frps 的请求。&lt;/p&gt;&#xA;&lt;p&gt;frps 在执行某些操作前，会根据配置向服务端插件发送 RPC 请求，根据插件的响应来执行相应的操作。&lt;/p&gt;&#xA;&lt;h2 id=&#34;rpc-请求&#34;&gt;RPC 请求&lt;/h2&gt;&#xA;&lt;p&gt;服务端插件接收到操作请求后，可以给出三种回应。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;拒绝操作，需要返回拒绝操作的原因。&lt;/li&gt;&#xA;&lt;li&gt;允许操作，不需要修改操作内容。&lt;/li&gt;&#xA;&lt;li&gt;允许操作，对操作请求进行修改后，返回修改后的内容。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;接口&#34;&gt;接口&lt;/h2&gt;&#xA;&lt;p&gt;接口路径可以在 frps 配置中为每个插件单独配置，这里以 &lt;code&gt;/handler&lt;/code&gt; 为例。&lt;/p&gt;&#xA;&lt;p&gt;Request&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;POST /handler?version=0.1.0&amp;amp;op=Login&#xD;&#xA;{&#xD;&#xA;    &amp;#34;content&amp;#34;: {&#xD;&#xA;        ... // 具体的操作信息&#xD;&#xA;    }&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;请求 Header&#xD;&#xA;X-Frp-Reqid: 用于追踪请求&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Response&lt;/p&gt;&#xA;&lt;p&gt;非 200 的返回都认为是请求异常。&lt;/p&gt;&#xA;&lt;p&gt;拒绝执行操作&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{&#xD;&#xA;    &amp;#34;reject&amp;#34;: true,&#xD;&#xA;    &amp;#34;reject_reason&amp;#34;: &amp;#34;invalid user&amp;#34;&#xD;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;允许且内容不需要变动&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{&#xD;&#xA;    &amp;#34;reject&amp;#34;: false,&#xD;&#xA;    &amp;#34;unchange&amp;#34;: true&#xD;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;允许且需要替换操作内容&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{&#xD;&#xA;    &amp;#34;unchange&amp;#34;: false,&#xD;&#xA;    &amp;#34;content&amp;#34;: {&#xD;&#xA;        ... // 替换后的操作信息，格式必须和请求时的一致&#xD;&#xA;    }&#xD;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;操作类型&#34;&gt;操作类型&lt;/h2&gt;&#xA;&lt;p&gt;目前插件支持管理的操作类型有 &lt;code&gt;Login&lt;/code&gt;、&lt;code&gt;NewProxy&lt;/code&gt;、&lt;code&gt;CloseProxy&lt;/code&gt;、&lt;code&gt;Ping&lt;/code&gt;、&lt;code&gt;NewWorkConn&lt;/code&gt; 和 &lt;code&gt;NewUserConn&lt;/code&gt;。&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Tunnel Gateway</title>
      <link>/frpdoc/zh-cn/docs/features/common/ssh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/ssh/</guid>
      <description>&lt;p&gt;&lt;em&gt;Added in v0.53.0&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;概念&#34;&gt;概念&lt;/h2&gt;&#xA;&lt;p&gt;SSH 支持反向代理能力 &lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc4254#page-16&#34;&gt;rfc&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;frp 支持在 frps 端监听一个 ssh 端口，通过走 ssh -R 协议来完成 TCP 协议代理，该模式下不需要依赖 frpc。&lt;/p&gt;&#xA;&lt;p&gt;SSH 反向隧道代理和通过 frp 代理 SSH 端口是不同的 2 个概念。SSH 反向隧道代理本质上是在你不想使用 frpc 的时候，通过 ssh client 连接 frps 来完成基本的反向代理。&lt;/p&gt;&#xA;&lt;h2 id=&#34;参数&#34;&gt;参数&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frps.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sshTunnelGateway&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;bindPort&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sshTunnelGateway&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;privateKeyFile&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sshTunnelGateway&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;autoGenPrivateKeyPath&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;sshTunnelGateway&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;authorizedKeysFile&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;bindPort&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;frps 监听的 ssh server 端口。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;YES&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;privateKeyFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;默认为空。ssh server 使用的私钥文件，为空frps会读取 autoGenPrivateKeyPath 路径下的私钥文件。可复用本地 /home/user/.ssh/id_rsa 文件或自定义路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;autoGenPrivateKeyPath&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;默认为 ./.autogen_ssh_key。文件不存在或内容为空，frps会自动生成 RSA 私钥文件内容存入该文件。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;authorizedKeysFile&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;默认为空。空不对ssh客户端进行鉴权认证。不空可实现ssh免密登录认证，可复用本地 /home/user/.ssh/authorized_keys 文件或自定义路径。&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;No&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;基本使用&#34;&gt;基本使用&lt;/h2&gt;&#xA;&lt;h3 id=&#34;服务端-frps&#34;&gt;服务端 frps&lt;/h3&gt;&#xA;&lt;p&gt;最简配置&lt;/p&gt;</description>
    </item>
    <item>
      <title>虚拟网络 (VirtualNet)</title>
      <link>/frpdoc/zh-cn/docs/features/common/virtualnet/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/docs/features/common/virtualnet/</guid>
      <description>&lt;p&gt;&lt;em&gt;Alpha feature, added in v0.62.0&lt;/em&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：VirtualNet 是一个 Alpha 阶段的特性，目前不稳定，其配置方式和功能可能会在后续版本中随时调整变更。请勿在生产环境中使用此功能，仅建议用于测试和评估目的。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;概述&#34;&gt;概述&lt;/h2&gt;&#xA;&lt;p&gt;虚拟网络（VirtualNet）功能允许 frp 通过 TUN 接口创建和管理客户端之间的虚拟网络连接。这一功能将 frp 的能力扩展到了传统端口转发之外，实现了完整的网络层通信。&lt;/p&gt;&#xA;&lt;p&gt;通过 VirtualNet 功能，你可以：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;在不同客户端之间建立 IP 层级的网络连接，不需要为每个服务单独配置端口转发&lt;/li&gt;&#xA;&lt;li&gt;使应用程序无需感知 frp 的存在，直接通过 IP 访问远程服务&lt;/li&gt;&#xA;&lt;li&gt;建立类似 VPN 的连接，但由 frp 负责管理&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;使用要求&#34;&gt;使用要求&lt;/h2&gt;&#xA;&lt;p&gt;使用 VirtualNet 功能需要满足以下条件：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;权限要求&lt;/strong&gt;：创建 TUN 接口需要 root/管理员权限&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;平台支持&lt;/strong&gt;：目前仅支持 Linux 和 macOS 平台&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;特性门控&lt;/strong&gt;：需要通过配置 &lt;code&gt;featureGates = { VirtualNet = true }&lt;/code&gt; 显式启用&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;地址分配&lt;/strong&gt;：每个端点必须配置唯一的 IP 地址/CIDR&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;配置方法&#34;&gt;配置方法&lt;/h2&gt;&#xA;&lt;h3 id=&#34;启用-virtualnet&#34;&gt;启用 VirtualNet&lt;/h3&gt;&#xA;&lt;p&gt;由于 VirtualNet 是 Alpha 特性，需要在配置中显式启用：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# frpc.toml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;featureGates&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;VirtualNet&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;服务端配置&#34;&gt;服务端配置&lt;/h3&gt;&#xA;&lt;p&gt;首先，为 frpc 配置虚拟网络地址：&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>/frpdoc/zh-cn/index.json</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/index.json</guid>
      <description></description>
    </item>
    <item>
      <title>Search Results</title>
      <link>/frpdoc/zh-cn/search/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/frpdoc/zh-cn/search/</guid>
      <description></description>
    </item>
  </channel>
</rss>
