跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

源站参数

最后更新 查看 MarkdownAgent 设置

源站参数决定了 cloudflared 如何将请求发送到您发布应用程序的源服务器。

更新源站参数

本节介绍如何更新 远程管理隧道 的源站参数。如果您使用的是 本地管理隧道,请将这些参数添加到您的 配置文件 中。

  1. 在 Cloudflare 仪表板中,前往 Networking(网络) > Tunnels(隧道),选择你的隧道。

    前往 Tunnels(隧道) ↗
  2. 转到 Routes(路由) 选项卡。

  3. 在要配置的已发布应用的操作菜单中选择 Edit route(编辑路由),或选择 Add route(添加路由) 创建新路由。

  4. 展开 Additional application settings(其他应用设置),修改 HTTP、TLS 或 Connection(连接) 类别下的源站参数。

  5. 选择 Save changes(保存更改)。

TLS 设置

originServerName

默认值 仪表板名称
"" Origin Server Name(源站服务器名称)

cloudflared 期望源站服务器证书包含的主机名。如果为空,cloudflared 使用服务 URL 中的主机名。例如,如果服务为 https://localhost:443,则使用 localhost。

matchSNItoHost

默认值 仪表板名称
false Match SNI to host(将 SNI 匹配到主机)

设置为 true 时,cloudflared 会在 TLS 握手期间,将服务器名称指示(SNI)设置为发送到源站的请求 Host 值。如果配置 HTTP Host Header,cloudflared 会将该值用于 SNI。此设置会为每个请求覆盖 Origin Server Name。

此设置在将流量引导至托管多个服务并依赖 SNI 来路由请求或呈现正确证书的入口点时非常有用。它消除了在使用通配符路由时显式为各个服务配置 originServerName 的需要。

caPool

默认值 仪表板名称
"" CA Pool(CA 证书池)

源站服务器证书的证书颁发机构(CA)的本地文件路径(例如 /root/certs/ca.pem)。路径应指向包含一个或多个受信任根 CA 证书的 .pem 或 .crt 格式证书存储文件或证书包。cloudflared 会将这些证书添加到默认信任池。证书由私有 CA 签名,且该 CA 不在默认信任池中时,请配置此设置。

noTLSVerify

默认值 仪表板名称
false 禁用 TLS 证书验证

当为 false 时,将对源站呈现的证书执行 TLS 验证。

当为 true 时,TLS 验证将被禁用。这将允许接受来自源站的任何证书。

tlsTimeout

默认值 仪表板名称
10s TLS Timeout(TLS 超时)

如果您选择将 Tunnel 连接到 HTTPS 服务器,则是与源服务器完成 TLS 握手的超时时间。

http2Origin

默认值 仪表板名称
false Use HTTP/2 to origin(使用 HTTP/2 连接源站)

当为 false 时,cloudflared 将使用 HTTP/1.1 连接到您的源站。

设置为 true 时,cloudflared 尝试使用 HTTP/2 而非 HTTP/1.1 连接源站。使用 HTTP/2 连接源站需要 HTTPS。对于私有 CA 签名的证书,请配置 CA Pool,并保持 TLS 验证开启。

HTTP 设置

httpHostHeader

默认值 仪表板名称
"" HTTP Host Header(HTTP Host 标头)

设置发送到本地服务的请求上的 HTTP Host 标头。

disableChunkedEncoding

默认值 仪表板名称
false Disable Chunked Encoding(禁用分块编码)

当为 false 时,cloudflared 在通过 HTTP/1.1 传输数据时执行分块传输编码(chunked transfer encoding)。

当为 true 时,分块传输编码将被禁用。如果您运行的是 Web 服务器网关接口 (WSGI) 服务器,这会很有用。

连接设置

connectTimeout

默认值 仪表板名称
30s Connect Timeout(连接超时)

与源服务器建立新 TCP 连接的超时时间。这不包括建立 TLS 所花费的时间,后者由 tlsTimeout 控制。

noHappyEyeballs

默认值 仪表板名称
false No Happy Eyeballs(禁用 Happy Eyeballs)

当为 false 时,如果您的本地网络错误配置了其中一种协议,cloudflared 会将 Happy Eyeballs 算法用于 IPv4/IPv6 回退。

当为 true 时,Happy Eyeballs 将被禁用。

proxyType

默认值 仪表板名称
"" Proxy Type(代理类型)

在代理(例如 SSH 或 RDP)时,cloudflared 会启动一个代理服务器将 HTTP 流量转换为 TCP。这将配置启动什么类型的代理。有效选项包括:

proxyAddress

默认值 仪表板名称
127.0.0.1 --

cloudflared 在代理(例如 SSH 或 RDP)时会启动一个代理服务器将 HTTP 流量转换为 TCP。这将配置该代理的监听地址。

proxyPort

默认值 仪表板名称
0 --

cloudflared 在代理(例如 SSH 或 RDP)时会启动一个代理服务器将 HTTP 流量转换为 TCP。这将配置该代理的监听端口。如果设置为零,将随机选择一个未使用的端口。

keepAliveTimeout

默认值 仪表板名称
1m30s Idle Connection Expiration Time(空闲连接过期时间)

空闲的 Keep-Alive 连接在达到此超时时间后可被丢弃。

keepAliveConnections

默认值 仪表板名称
100 Keep Alive Connections(保持活动的连接数)

默认值:100

cloudflared 与源站之间空闲 keepalive 连接的最大数量。这不会限制并发连接总数。

tcpKeepAlive

默认值 仪表板名称
30s TCP Keep Alive Interval(TCP 保活间隔)

默认值:30s

cloudflared 向源站服务器发送 TCP 保活数据包前等待的超时时间。

Access 设置

access

默认值 仪表板名称
"" Protect with Access(使用 Access 保护)

要求 cloudflared 在将流量代理到您的源站之前先验证 Cloudflare Access JWT。您可以在受 Access 应用程序保护的公共主机名服务上强制执行此检查。对于向这些主机名发送的所有 L7 请求,Access 会将 JWT 作为 Cf-Access-Jwt-Assertion 请求标头发送给 cloudflared。

要在 配置文件 中启用此安全控制,请获取您的 Access 应用程序的 AUD 标签并将以下规则添加到 originRequest 中:

access:
  required: true
  teamName: <your-team-name>
  audTag:
    - <Access-application-audience-tag>
    - <Optional-additional-tags>

这篇文档对您有帮助吗?