HAProxy环境下Chrome提示连接不安全但证书有效求助
Chrome提示HAProxy SSL终止站点不安全的排查思路
检查HAProxy证书链完整性
LetsEncrypt证书必须搭配完整的中间证书链才能被Chrome正常信任,Firefox对链缺失的容忍度更高。确保HAProxy的crt指令指向的PEM文件包含主证书和中间证书(顺序为主证书在前,中间证书在后)。可以通过以下命令生成合规的PEM文件:cat fullchain.pem privkey.pem > haproxy-cert.pem替换HAProxy配置中的证书路径后重启服务。
验证SSL协议与加密套件配置
Chrome会禁用老旧或不安全的SSL协议/套件,确保HAProxy只启用现代标准:ssl-default-bind-options ssl-min-ver TLSv1.2 ssl-max-ver TLSv1.3 ssl-default-bind-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避免启用SSLv3、TLSv1.0这类已废弃的协议。
清理Chrome本地缓存与证书设置
- 清除浏览器缓存:进入
chrome://settings/privacy,选择清除“缓存的图片和文件”“Cookie和其他网站数据”,重启Chrome。 - 检查不信任证书:进入
chrome://settings/certificates,在“不信任的证书”列表中删除与该站点相关的条目。
- 清除浏览器缓存:进入
排查HSTS缓存问题
如果站点曾使用HTTP,Chrome可能缓存了错误的HSTS记录:- 确保HAProxy返回正确的HSTS头:
http-response set-header Strict-Transport-Security "max-age=31536000; includeSubDomains" - 进入
chrome://net-internals/#hsts,查询并删除该域名的HSTS记录。
- 确保HAProxy返回正确的HSTS头:
检查页面混合内容
Chrome会因页面加载HTTP资源(如图片、脚本)标记连接不安全。打开开发者工具(F12),在“控制台”标签查看是否有混合内容警告,将所有HTTP资源引用替换为HTTPS。
内容的提问来源于stack exchange,提问作者user3183111
相关产品推荐
相关产品推荐

