1.
常见问题概览
1) 证书链不完整(缺少中间证书导致浏览器报错)。
2) SNI配置错误(多站点时域名未正确指向证书)。
3) 协议/加密套件不兼容(TLS1.0/1.1被禁用或服务器仅支持老旧套件)。
4) CN2网络下对MTU/分片敏感导致握手超时。
5) 虚拟主机面板误配置(fullchain.pem与cert.pem混淆)。
6) CDN或DDoS防护导致源站握手被截断或证书被替换。
2.
快速排查命令与指标
1) openssl 测试:openssl s_client -connect host:443 -servername host -showcerts。
2) 查看证书文件:openssl x509 -in fullchain.pem -noout -text。
3) Nginx 检查:nginx -t && systemctl reload nginx。
4) 日志检查:/var/log/nginx/error.log 和 access.log 查 526/525 错误。
5) 网络诊断:ping/traceroute/mtu(ping -M do -s 1472 host)检测分片。
6) 测试工具:SSL Labs 或 curl -v --tlsv1.2 https://host/。
3.
一键修复思路(脚本化步骤)
1) 自动获取并拷贝fullchain.pem与privkey.pem到指定目录。
2) 自动生成nginx配置段并替换旧证书路径,示例路径/etc/ssl/host/。
3) 重载服务:nginx -t && systemctl reload nginx。
4) 验证:openssl s_client 与 curl 检查握手与证书链。
5) 若CN2出现MTU问题,自动调整TCP MSS或启用TLS False Start/OCSP stapling。
6) 脚本示例:使用certbot或acme.sh + post-hook自动部署证书(脚本中包含重载命令与日志记录)。
4.
CN2/香港网络与CDN、DDoS注意点(含数据示例)
1) CN2延迟优势明显,但对分片敏感,建议MTU ≤ 1400。
2) CDN前置时确保证书在CDN和源站均正确配置(fullchain在两端)。
3) DDoS防护设备可能中断TLS握手,需放行443端口与SNI探测。
4) 流量峰值测试:可用ab/wrk模拟TLS连接并观察握手速率。
5) 下表为示例服务器与证书参数:
| 项 | 示例值 |
| 机房网络 | CN2 香港 |
| 带宽/CPU/RAM | 200Mbps / 4 vCPU / 8GB |
| 证书颁发机构 | Let's Encrypt |
| 支持协议 | TLS1.2,TLS1.3 |
| 握手耗时(平均) | 20-80ms |
5.
真实案例与配置示例
1) 案例:某电商使用CN2香港VPS,用户报错ERR_SSL_PROTOCOL_ERROR,原因是只部署cert.pem未部署fullchain.pem,浏览器失败。
2) 解决过程:openssl s_client -connect shop.example.hk:443 -servername shop.example.hk 显示缺中间证书。
3) 修复:上传fullchain.pem到/etc/ssl/shop/,修改nginx配置ssl_certificate /etc/ssl/shop/fullchain.pem; ssl_certificate_key /etc/ssl/shop/privkey.pem;。
4) 重载并验证:nginx -t && systemctl reload nginx;openssl s_client 再次握手通过。
5) 建议:使用acme.sh --install-cert配合post-hook自动部署并记录到日志,定期检测TLS版本与套件兼容性。
来源:cn2 香港虚拟主机 ssl 配置中常见问题与一键修复方法