源站参数决定了 cloudflared 如何将请求发送到您发布应用程序的源服务器。
本节介绍如何更新 远程管理隧道 的源站参数。如果您使用的是 本地管理隧道,请将这些参数添加到您的 配置文件 中。
-
在 Cloudflare 仪表板中,前往 Networking(网络) > Tunnels(隧道),选择你的隧道。
前往 Tunnels(隧道) ↗ -
转到 Routes(路由) 选项卡。
-
在要配置的已发布应用的操作菜单中选择 Edit route(编辑路由),或选择 Add route(添加路由) 创建新路由。
-
展开 Additional application settings(其他应用设置),修改 HTTP、TLS 或 Connection(连接) 类别下的源站参数。
-
选择 Save changes(保存更改)。
| 默认值 | 仪表板名称 |
|---|---|
"" |
Origin Server Name(源站服务器名称) |
cloudflared 期望源站服务器证书包含的主机名。如果为空,cloudflared 使用服务 URL 中的主机名。例如,如果服务为 https://localhost:443,则使用 localhost。
| 默认值 | 仪表板名称 |
|---|---|
false |
Match SNI to host(将 SNI 匹配到主机) |
设置为 true 时,cloudflared 会在 TLS 握手期间,将服务器名称指示(SNI)设置为发送到源站的请求 Host 值。如果配置 HTTP Host Header,cloudflared 会将该值用于 SNI。此设置会为每个请求覆盖 Origin Server Name。
此设置在将流量引导至托管多个服务并依赖 SNI 来路由请求或呈现正确证书的入口点时非常有用。它消除了在使用通配符路由时显式为各个服务配置 originServerName 的需要。
| 默认值 | 仪表板名称 |
|---|---|
"" |
CA Pool(CA 证书池) |
源站服务器证书的证书颁发机构(CA)的本地文件路径(例如 /root/certs/ca.pem)。路径应指向包含一个或多个受信任根 CA 证书的 .pem 或 .crt 格式证书存储文件或证书包。cloudflared 会将这些证书添加到默认信任池。证书由私有 CA 签名,且该 CA 不在默认信任池中时,请配置此设置。
| 默认值 | 仪表板名称 |
|---|---|
false |
禁用 TLS 证书验证 |
当为 false 时,将对源站呈现的证书执行 TLS 验证。
当为 true 时,TLS 验证将被禁用。这将允许接受来自源站的任何证书。
| 默认值 | 仪表板名称 |
|---|---|
10s |
TLS Timeout(TLS 超时) |
如果您选择将 Tunnel 连接到 HTTPS 服务器,则是与源服务器完成 TLS 握手的超时时间。
| 默认值 | 仪表板名称 |
|---|---|
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 Host Header(HTTP Host 标头) |
设置发送到本地服务的请求上的 HTTP Host 标头。
| 默认值 | 仪表板名称 |
|---|---|
false |
Disable Chunked Encoding(禁用分块编码) |
当为 false 时,cloudflared 在通过 HTTP/1.1 传输数据时执行分块传输编码(chunked transfer encoding)。
当为 true 时,分块传输编码将被禁用。如果您运行的是 Web 服务器网关接口 (WSGI) 服务器,这会很有用。
| 默认值 | 仪表板名称 |
|---|---|
30s |
Connect Timeout(连接超时) |
与源服务器建立新 TCP 连接的超时时间。这不包括建立 TLS 所花费的时间,后者由 tlsTimeout 控制。
| 默认值 | 仪表板名称 |
|---|---|
false |
No Happy Eyeballs(禁用 Happy Eyeballs) |
当为 false 时,如果您的本地网络错误配置了其中一种协议,cloudflared 会将 Happy Eyeballs 算法用于 IPv4/IPv6 回退。
当为 true 时,Happy Eyeballs 将被禁用。
| 默认值 | 仪表板名称 |
|---|---|
"" |
Proxy Type(代理类型) |
在代理(例如 SSH 或 RDP)时,cloudflared 会启动一个代理服务器将 HTTP 流量转换为 TCP。这将配置启动什么类型的代理。有效选项包括:
""表示常规代理"socks"表示 SOCKS5 代理。有关更多信息,请参阅关于使用 kubectl 通过 Cloudflare Access 进行连接的教程。
| 默认值 | 仪表板名称 |
|---|---|
127.0.0.1 |
-- |
cloudflared 在代理(例如 SSH 或 RDP)时会启动一个代理服务器将 HTTP 流量转换为 TCP。这将配置该代理的监听地址。
| 默认值 | 仪表板名称 |
|---|---|
0 |
-- |
cloudflared 在代理(例如 SSH 或 RDP)时会启动一个代理服务器将 HTTP 流量转换为 TCP。这将配置该代理的监听端口。如果设置为零,将随机选择一个未使用的端口。
| 默认值 | 仪表板名称 |
|---|---|
1m30s |
Idle Connection Expiration Time(空闲连接过期时间) |
空闲的 Keep-Alive 连接在达到此超时时间后可被丢弃。
| 默认值 | 仪表板名称 |
|---|---|
100 |
Keep Alive Connections(保持活动的连接数) |
默认值:100
cloudflared 与源站之间空闲 keepalive 连接的最大数量。这不会限制并发连接总数。
| 默认值 | 仪表板名称 |
|---|---|
30s |
TCP Keep Alive Interval(TCP 保活间隔) |
默认值:30s
cloudflared 向源站服务器发送 TCP 保活数据包前等待的超时时间。
| 默认值 | 仪表板名称 |
|---|---|
"" |
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>