如何在K8s中配置cert-manager签发带OCSP Must-Staple的Let's Encrypt证书
cert-manager配置OCSP Must-Staple证书方法
cert-manager原生支持签发带OCSP Must-Staple扩展的Let's Encrypt证书,该配置项不在ClusterIssuer资源中,而是定义在Certificate资源的spec字段下。
配置说明
Let's Encrypt会自动识别CSR(证书签名请求)中携带的Must-Staple扩展标识,为符合要求的请求签发带对应扩展的证书。cert-manager提供了开箱即用的配置项,开启后会自动在生成CSR时注入该标识,无需手动生成CSR。
你不需要修改现有ClusterIssuer配置,只需要在对应Certificate资源中添加mustStaple: true字段即可,参考配置示例:
apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: example-com-cert namespace: default spec: secretName: example-com-tls dnsNames: - "example.com" - "www.example.com" issuerRef: name: letsencrypt-production kind: ClusterIssuer # 开启OCSP Must-Staple扩展 mustStaple: true
注意事项
- 如果你是通过Ingress注解(
cert-manager.io/cluster-issuer)自动触发证书签发,目前没有对应Ingress注解可以直接开启Must-Staple,需要提前手动创建上述带mustStaple: true配置的Certificate资源,cert-manager会自动完成签发、续签流程。 - 配置生效后可以通过
openssl x509 -in <证书文件路径> -text -noout命令校验,返回内容中存在TLS Feature: status_request条目即代表Must-Staple扩展已成功添加。 - 开启Must-Staple前必须确保Nginx Ingress的OCSP装订功能配置完全正常,否则支持Must-Staple特性的浏览器会直接拦截站点访问,抛出证书错误。
内容的提问来源于stack exchange,提问作者Alberto Zambrano Galbis
相关产品推荐
相关产品推荐

