Mic.Run

Back

基于 Cloudflare mTLS 如何使用的部分教程Blur image

TL;DR

太长不看?先看结论!
  • 在 Cloudflare 的 SSL/TLS → Client Certificates 中为域名创建客户端证书,创建完成后立即保存证书和私钥;页面之后不会再显示私钥。
  • 保护 /admin:在 WAF 自定义规则中使用“((not cf.tls_client_auth.cert_verified or cf.tls_client_auth.cert_revoked) and http.request.uri.path in {"/admin"})”,动作设为 Block。
  • 某张客户端证书不再使用时执行 Revoke;Cloudflare 证书不能删除,且 WAF 不会默认拦截已吊销证书,所以规则必须包含 cert_revoked 判断。

什么是 mTLS?#

Cloudflare Learning: Mutual TLS

官方对 mutual TLS 的概念说明

先看概念,再回到 Cloudflare 中证书创建、吊销和 WAF 规则的处理。

mutual TLS 简称 mTLS,是一种相互身份验证的方法。 mTLS 通过验证双方都拥有正确的私有密钥,确保网络连接两端的各方都是他们声称的身份。双方 TLS 证书中的信息会提供额外验证。

证书创建#

Cloudflare mTLS Concepts

Cloudflare 官方 mTLS 证书说明

Cloudflare 默认托管 CA 的客户端证书有配额限制,创建前建议先规划用途。

每个域名最多包含 100 个客户端证书,目前不清楚过期后是否占位。

证书吊销#

在 Cloudflare 中,我们一般使用其作为机构签发的证书,而证书只能执行吊销,不能删除

Revoke a client certificate

Cloudflare 客户端证书吊销说明

使用 Cloudflare Managed CA 生成的客户端证书无法永久删除,只能吊销。

cf.tls_client_auth.cert_revoked = true
txt
基于 Cloudflare mTLS 如何使用的部分教程
https://mic.run/blog/some-cloudflare-mtls-course
Author Mic
Published at 2026年1月11日
Comment seems to stuck. Try to refresh?✨