诸如 HTTPS 流量检查、数据防泄露(DLP)、防病毒扫描、Access for Infrastructure 和 浏览器隔离(Browser Isolation) 等高级安全功能要求用户在其设备上安装并信任一个根证书。您可以选择安装由 Cloudflare 提供的证书(默认选项),也可以选择生成您自己的自定义证书并将其上传到 Cloudflare。
Zero Trust 为每个账户生成一个唯一的根 CA并将它部署在 Cloudflare 全球网络中。或者,Enterprise 用户可以上传并部署他们自己的自定义证书。
Zero Trust 将根据证书的部署状态指示该证书是否已准备好用于检查:
| 部署状态 | 描述 |
|---|---|
| Inactive | 证书已被 Cloudflare 生成或已上传到 Cloudflare,但未部署在全球网络中。 |
| Pending | 证书正在激活或停用以供使用。 |
| Available | 证书已部署在 Cloudflare 全球网络中,并准备好被开启。Cloudflare One Client 将在您用户的设备上安装该证书。 |
| Available and In-Use | 证书已开启。Gateway 将使用该证书进行检查。 |
要为您的 Zero Trust 组织生成一个新的 Cloudflare 根证书:
- 在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Traffic policies(流量策略) > Traffic settings(流量设置)。
- 选择 Certificates(证书)。
- 选择 Generate certificate(生成证书)。
- 选择证书到期前的时间跨度。Cloudflare 建议在五年后过期。或者选择 Custom(自定义) 并输入自定义的天数。
- 选择 Generate certificate(生成证书)。
向 Create Zero Trust certificate 端点发送 POST 请求。
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/certificates" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"API 将返回新证书的 ID 与内容。
该证书将以 **Inactive(未激活)**状态显示在您的证书列表中。要下载生成的证书,请选择它,然后选择 Download .pem(下载 .pem) 和/或 Download .crt(下载 .crt)。要部署您的证书并启用它以进行检查,您需要激活证书。
每个 Zero Trust 账户每天最多可以生成三次新的根证书。
一旦在 Zero Trust 中生成或上传了证书,您就需要激活它。激活证书会将其部署到 Cloudflare 网络中,并将其状态设置为 Available(可用)。您最多可以同时拥有 10 个可用证书。
要激活您的根证书:
- 在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Traffic policies(流量策略) > Traffic settings(流量设置)。
- 选择 Certificates(证书)。
- 选择您要激活的证书。
- 选择 Activate(激活)。
向 Activate a Zero Trust certificate 端点发送 POST 请求。
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/certificates/$CERTIFICATE_ID/activate" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"证书状态在部署时将更改为 Pending(挂起)。一旦您的证书状态变为 Available(可用),您就可以通过 Cloudflare One Client 或手动方式将其安装在用户的设备上。
部署并安装证书后,您可以启用它以用于检查:
- 在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Traffic policies(流量策略) > Traffic settings(流量设置)。
- 选择 Certificates(证书)。
- 选择您要启用的证书。
- 在 **Basic information(基本信息)**中,选择 Confirm and turn on certificate(确认并启用证书)。
向 Update Zero Trust account configuration 端点发送 PUT 请求。例如:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/configuration" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"settings": {
"certificate": {
"id": "{certificate_id}",
"in_use": true
}
}
}'您可以将多个证书设置为 Available(可用),但您一次只能启用一个证书用于检查。将一个证书设置为 **In-Use(使用中)**会将任何其他正在使用的证书设置为仅 Available(可用),从而防止它们在再次启用之前被用于检查。