每当 Cloudflare 无法从我们的网络缓存中提供内容时,便会发生 origin pull。Cloudflare 支持通过证书验证过程进行身份验证的 origin pull。
概述
Cloudflare 位于最终用户 Web 浏览器和网站源站之间的网络上。 流量从 Web 浏览器传输到 Cloudflare。 Cloudflare 可随时满足来自高速缓存的请求。否则,它会在第二个连接中返回到源 Web 服务器。 此类型的请求称为 origin pull。
浏览器到 Cloudflare
最终用户 Web 浏览器与 Cloudflare 之间的链接受益于强大的安全技术 - 强密码、具有自动配置证书的 SSL 以及将证书映射到域名的公共 CA 基础设施。 浏览器将验证服务器证书以确保它们与正确的 Web 服务器通信。
Cloudflare 到源站
Authenticated Origin Pulls 允许源 Web 服务器以加密方式验证 Web 请求是否来自 Cloudflare。 我们使用大多数 Web 服务器支持的 TLS 客户端证书身份验证功能,并在 Cloudflare 和源站之间建立连接时提供 Cloudflare 证书。 通过在源站配置中验证此证书,可以将访问限制为 Cloudflare 连接。
在利用 Cloudflare Web Application Firewall (WAF) 安全功能时,Authenticated Origin Pulls 尤为重要。 将 Authenticated Origin Pulls 与局限于 Cloudflare 的配置搭配使用,网站可以确保所有流量都已由最先进的 Web Application Firewall 处理。
TLS 握手
如果没有使用 Authenticated Origin Pulls,则 Cloudflare 和源站之间的 TLS 会话如下所示:
使用 Authenticated Origin Pulls 时,连接如下所示:
安装在 Apache 和 NGINX 上
单击下方以展开为 NGINX 或 Apache 源 Web 服务器配置 TLS Authenticated Origin Pulls 的说明:
然后将以下行添加到源 Web 服务器的 SSL 配置中:
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile /path/to/origin-pull-ca.pem
然后将以下行添加到源 Web 服务器的 SSL 配置中:
ssl_client_certificate /etc/nginx/certs/cloudflare.crt; ssl_verify_client on;
Origin Pull 证书
Cloudflare 使用以下证书颁发机构为 Authenticated Origin Pull 服务的证书进行签名: