如何修复Django应用配置的Comodo SSL证书不被浏览器信任问题
SSL证书不受信任的具体成因
- 证书链缺失:Comodo Positive SSL属于域名型证书,由中间CA而非根CA直接签发,你仅传入了域名本身的证书文件,没有配套加载Comodo提供的中间CA证书bundle,浏览器无法将证书回溯到系统内置的受信任根证书,因此判定证书不受信任。
- 证书域名不匹配:即使证书文件名和域名一致,也需要确认证书实际绑定的域名和当前浏览器访问的域名完全匹配:比如证书仅绑定了
www.yourdomain.com,访问时用的是根域名yourdomain.com、IP地址、其他子域名,都会触发不匹配报错。 - 证书文件格式错误:你使用的证书文件可能格式不符合要求,runserver_plus要求
--cert-file传入PEM格式的公钥文件,如果文件是DER格式、或者内容损坏、包含多余的不可见字符,都会导致服务端加载证书异常。 - 浏览器缓存问题:浏览器会缓存站点之前的证书信息,如果你之前测试用过自签名证书,即使后续替换为正规Comodo证书,没有清除浏览器缓存/SSL状态的前提下,仍然会弹出旧的报错提示。
- 开发服务器限制:runserver_plus是Django开发调试用的服务器,对SSL证书完整链的加载支持不完善,即使你将域名证书和中间证书拼接为单个文件,部分版本的django-extensions依赖库也可能出现证书加载失败的问题。
内容的提问来源于stack exchange,提问作者AMZ
相关产品推荐
相关产品推荐

