NGINX搭配Cloudflare时SSL证书无效问题求助
问题排查与修复方案
先看你遇到的SSL错误截图:
结合你的Nginx配置和Cloudflare源证书使用场景,按以下步骤排查:
1. 确认证书文件正确性
- 检查
cert.pem和key.pem是否完整复制了Cloudflare源证书的内容,必须包含首尾的-----BEGIN CERTIFICATE-----/-----END CERTIFICATE-----和-----BEGIN PRIVATE KEY-----/-----END PRIVATE KEY-----标记 - 修复证书文件权限,避免Nginx读取失败:
sudo chmod 600 /etc/ssl/private/key.pem sudo chown root:root /etc/ssl/private/key.pem sudo chmod 644 /etc/ssl/certs/cert.pem
2. 补充Nginx SSL必要配置
Cloudflare源证书需要适配特定的加密规则,在443端口的server块中添加以下配置:
ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off;
3. 验证并重启Nginx
先检查配置是否合法:
sudo nginx -t
如果输出test is successful,重启Nginx生效:
sudo systemctl restart nginx
4. 核对Cloudflare后台设置
- 确保域名DNS记录是橙色代理状态(云朵图标为橙色),而非仅DNS解析
- 在Cloudflare的「SSL/TLS」-「加密模式」中,根据你的情况选择:
- 严格模式:要求源服务器证书有效(推荐生产环境)
- 灵活模式:Cloudflare与浏览器用HTTPS,和源服务器用HTTP(仅临时测试用)
5. 检查Azure端口放行
在Azure服务器的网络安全组中,确保80和443端口已开放,允许Cloudflare的IP段访问
内容的提问来源于stack exchange,提问作者sifat
相关产品推荐
相关产品推荐

