Cloudflare SSL 证书在自建节点中的正确安装方式
为什么需要在自建节点安装 Cloudflare 证书

作为一名长期使用 Cloudflare 的站长,我发现很多人在使用 Cloudflare 代理时,只配置了源站到 Cloudflare 的加密,却忽略了 Cloudflare 到自建节点之间的安全连接。实际上,完整配置 SSL 证书不仅能提升安全性,还能避免各种奇怪的连接问题。今天我就来分享如何正确安装 Cloudflare 证书到自建节点。
准备工作:获取证书文件
首先登录 Cloudflare 控制台,进入你的域名设置。在 SSL/TLS 选项卡中找到”源服务器”部分,点击”创建证书”。这里我建议选择15年有效期的证书,毕竟谁都不想频繁更新证书对吧?
生成证书后,你会得到两个文件:
# 证书文件(通常以 .pem 结尾)
# 私钥文件(通常以 .key 结尾)
Nginx 配置实战
以我最常用的 Nginx 为例,配置过程其实很简单。将下载的证书和私钥上传到服务器,我习惯放在 /etc/ssl/ 目录下:
# 创建证书目录
sudo mkdir -p /etc/ssl/cloudflare/
# 上传证书文件到该目录
接着修改 Nginx 配置文件:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/ssl/cloudflare/your_cert.pem;
ssl_certificate_key /etc/ssl/cloudflare/your_private.key;
# 其他配置...
}
这里有个坑要特别注意:Cloudflare 提供的证书是包含中间证书的,所以不需要额外配置证书链。我之前就因为这个折腾了好久!
Apache 配置要点
如果你使用的是 Apache,配置也大同小异:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/cloudflare/your_cert.pem
SSLCertificateKeyFile /etc/ssl/cloudflare/your_private.key
# 其他配置...
</VirtualHost>
验证配置与排错
配置完成后,记得测试配置并重启服务:
# Nginx 配置测试
sudo nginx -t
# Apache 配置测试
sudo apache2ctl configtest
# 重启服务
sudo systemctl restart nginx # 或 apache2
我强烈建议使用 SSL 检测工具验证配置,比如 SSL Labs 的 SSL Test。如果遇到证书错误,检查以下几点:
- 证书文件路径是否正确
- 文件权限是否设置正确(私钥应该只有 root 可读)
- 时间同步是否正确(证书验证依赖正确的时间)
防火墙与安全加固
最后,别忘了配置防火墙,只允许 Cloudflare 的 IP 访问你的源站。这是我用 iptables 的配置:
# 只允许 Cloudflare IP 访问 443 端口
iptables -A INPUT -p tcp --dport 443 -s 173.245.48.0/20 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP
经过这样完整的配置,你的自建节点就与 Cloudflare 建立了安全的端到端加密连接。记得定期检查证书有效期,虽然15年很长,但设置个提醒总没错。希望这篇教程能帮你避开我踩过的那些坑!


感谢分享,终于搞定了自建节点的SSL配置!