You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API创建无需提供私钥和CSR的Cloudflare Origin CA证书

无需手动提供私钥/CSR,通过API/Terraform/Pulumi自动生成Cloudflare Origin CA证书

Cloudflare原生Origin CA API确实要求调用者自行生成并提交私钥和CSR,但你可以通过以下方式实现和UI一致的自动生成效果:

1. 脚本自动化本地生成+API调用

用openssl命令自动生成私钥和CSR,再调用API提交,全程无需手动操作:

  • 生成2048位RSA私钥:
    openssl genrsa -out origin_private.key 2048
    
  • 生成对应域名的CSR(替换*.example.com为你的目标域名):
    openssl req -new -key origin_private.key -out origin_csr.csr -subj "/CN=*.example.com"
    

拿到CSR后,调用Origin CA API提交即可获取证书。

2. Terraform Cloudflare Provider(推荐)

Terraform的Cloudflare Provider封装了自动生成逻辑,配置时只需指定域名等参数,私钥和CSR会自动生成并提交:

resource "cloudflare_origin_ca_certificate" "my_origin_cert" {
  zone_id          = "你的Zone ID"
  hostnames        = ["*.example.com", "example.com"]
  request_type     = "origin-rsa" # 如需ECC证书,改为origin-ecc
  validity_days    = 365
  # 无需填写certificate和private_key字段,Terraform会自动生成
}

部署后,生成的证书和私钥会保存在Terraform状态文件中,注意做好状态文件的安全防护。

3. Pulumi Cloudflare Provider

Pulumi同样支持自动生成,以TypeScript为例:

import * as cloudflare from "@pulumi/cloudflare";

const originCert = new cloudflare.OriginCACertificate("myOriginCert", {
    zoneId: "你的Zone ID",
    hostnames: ["*.example.com", "example.com"],
    requestType: "origin-rsa",
    validityDays: 365,
    // 无需手动传入certificate和privateKey,Pulumi自动处理
});

// 可输出证书和私钥供后续使用
export const certContent = originCert.certificate;
export const privateKeyContent = originCert.privateKey;

总结:直接调用Cloudflare API需要自行处理私钥和CSR,但Terraform/Pulumi的Cloudflare Provider完全实现了UI的自动生成逻辑,是更便捷的方案。

内容的提问来源于stack exchange,提问作者Joel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:36:20