Firefox提示 MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT 怎么解决?
Firefox 访问 HTTPS 网站时,如果出现 MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT,说明 Firefox 在验证服务器证书时发现证书链无法连接到自己信任的根 CA,其中最常见的情况是服务器直接使用了**自签名证书(Self-Signed Certificate)**。
如果这是公网网站,最直接的处理方法是更换为公共 CA 签发的 SSL/TLS 证书,并检查服务器是否正确部署完整证书链。
如果这是企业内网系统,则不一定需要购买公共 SSL 证书。企业也可以使用私有 CA 签发证书,但必须让 Firefox 所在的客户端信任企业内部 CA。
MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT是什么意思?
MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT 是 Firefox 在证书验证过程中返回的错误代码。
它的核心问题不是“HTTPS 没有加密”,而是:
Firefox 无法确认当前服务器证书是否由自己信任的证书颁发机构签发。
例如服务器直接使用下面这样的证书:
Subject: www.example.com
Issuer: www.example.com
证书由自己签发,没有连接到公共受信任根 CA,Firefox 就无法建立正常的信任链。
这种情况下,即使 TLS 加密本身能够建立,Firefox 仍然不会默认信任该网站的身份。
为什么Firefox会提示自签名证书?
常见原因主要有以下几种。
网站使用了自签名证书
开发环境、测试服务器和部分内网系统经常使用自签名证书。
这种方式不需要向 CA 申请证书,部署比较方便,但公共浏览器默认不会信任它。
例如:
服务器
↓
自签名证书
↓
没有受信任的公共根CA
↓
Firefox拒绝建立可信连接
企业使用私有CA,但客户端没有安装根证书
企业内网可能使用自己的 PKI。
例如:
企业根CA
↓
内部服务器证书
↓
oa.company.internal
如果企业电脑没有安装并信任这个根 CA,Firefox 同样无法验证服务器证书。
因此:
私有 CA 证书并不等于错误证书。
对于企业内部系统,它完全可以是正规的证书体系,只是客户端必须提前建立对应的信任关系。
服务器证书链配置异常
虽然错误代码明确指向自签名证书,但实际排查时仍然应该检查服务器返回的完整证书链。
如果服务器配置错误,可能导致客户端无法建立正确的信任路径。
因此不要只看服务器上的 .crt 文件,还应该检查公网或内网客户端实际收到的证书链。
怎么判断网站是不是使用了自签名证书?
可以从 Firefox 的证书详情中检查。
访问网站后,打开地址栏中的连接安全信息,进入证书相关详情,重点查看:
- Subject(主体);
- Issuer(签发者);
- 有效期;
- SAN(Subject Alternative Name);
- 证书链;
- 根 CA 是否受 Firefox 信任。
如果发现:
Issuer 与 Subject 相同
并且证书没有连接到受信任的 CA 根证书,那么它很可能是自签名证书。
但不要仅凭这一项就下结论,最好结合完整证书链一起判断。
公网网站出现这个错误怎么办?
如果这是一个面向互联网用户的正式网站,不建议让用户手动接受风险继续访问。
正确处理方式是更换为公共 CA 签发的 SSL/TLS 证书。
基本流程如下:
第一步:确认当前证书
检查服务器当前部署的证书,确认:
- 是否为自签名证书;
- 是否已经过期;
- 域名是否匹配;
- 证书链是否完整;
- 是否部署了错误的证书。
第二步:申请公共CA证书
根据网站实际需求选择:
- DV SSL证书:适合个人网站、博客、一般 Web 服务;
- OV SSL证书:适合需要展示经过验证的组织身份的企业网站;
- EV SSL证书:适合对组织身份审核有更高要求的特定业务场景。
具体选择可以参考 SSL证书选购指南。
第三步:部署新证书
将 CA 签发的服务器证书和对应的中间证书链配置到实际提供 HTTPS 服务的服务器。
常见环境包括:
- Nginx;
- Apache;
- IIS;
- Tomcat;
- CDN;
- 负载均衡器。
如果是多服务器架构,需要确认所有实际提供 HTTPS 服务的节点都完成更新。
第四步:从客户端重新检查
证书更新后,不要只看服务器配置文件。
应该重新使用 Firefox 访问网站,并检查:
- 当前返回的证书;
- 域名是否匹配;
- 证书是否在有效期内;
- 证书链是否完整;
- Firefox 是否已经建立正常信任链。
内网网站出现这个错误怎么办?
内网环境需要分两种情况处理。
情况一:使用企业私有CA
如果企业本身已经建立了 PKI,正确的做法不是让员工每次都点击“接受风险”,而是:
将企业根 CA 正确部署到客户端的信任库。
Firefox 的证书管理界面可以导入企业根 CA。企业规模较大时,则应该通过统一的设备管理或企业策略批量部署,而不是让每个员工手动操作。
这样内部服务器证书就可以正常建立:
企业根CA
↓
中间CA(如果有)
↓
内部服务器证书
↓
Firefox
情况二:服务器直接使用自签名证书
如果只是临时测试,可以在测试客户端建立对该证书的信任。
但对于正式内网系统,更推荐建立内部 CA,而不是让每台服务器长期使用各自独立的自签名证书。
因为随着服务器数量增加,自签名证书会越来越难管理:
- 每台服务器都需要单独维护;
- 证书续期容易遗漏;
- 客户端信任关系难以统一;
- 证书吊销和替换不方便。
Firefox中如何导入企业根CA?
如果企业使用的是私有 CA,需要导入的是企业 CA 的根证书,而不是随便导入服务器证书。
Firefox 中可以从证书管理相关设置进入:
设置 → 隐私与安全 → 证书 → 查看证书 → 证书机构(Authorities)
然后导入企业 CA 根证书,并根据企业实际用途选择相应信任范围。
需要注意:
不要为了消除浏览器警告,把任何来源不明的证书加入受信任根证书。
根 CA 一旦被客户端信任,其签发的证书可能获得广泛的身份验证权限,因此根证书本身需要严格控制来源。
可以直接点击“接受风险并继续”吗?
如果是你自己搭建的测试服务器,且能够确认服务器身份,可以临时这样处理。
但正式公网网站不应该要求用户这么做。
因为忽略证书警告实际上是在告诉浏览器:
“我不确认这个服务器的身份,但仍然允许继续建立连接。”
这会削弱 HTTPS 的身份认证价值。
特别是涉及:
- 用户登录;
- 密码;
- 支付;
- API Token;
- Cookie;
- 企业内部敏感数据;
等场景,不应该通过长期忽略证书警告解决问题。
自签名证书和私有CA证书有什么区别?
这两个概念经常被混淆。
| 项目 | 自签名证书 | 私有CA证书 |
|---|---|---|
| 签发方式 | 证书自己签自己 | 企业CA统一签发 |
| 客户端默认信任 | 否 | 安装企业根CA后可以信任 |
| 适合测试 | 是 | 是 |
| 适合大型内网 | 不推荐 | 推荐 |
| 证书统一管理 | 较困难 | 更方便 |
| 吊销和生命周期管理 | 较弱 | 可以建立完整PKI体系 |
简单来说:
自签名证书适合简单测试。
私有 CA 更适合正式企业内网。
为什么更换公共SSL证书后仍然报错?
如果已经更换了公共 CA 证书,但 Firefox 仍然出现证书错误,需要继续排查。
常见原因包括:
服务器仍然返回旧证书
新证书可能已经上传,但 Nginx、Apache、IIS 或其他服务没有重新加载配置。
CDN仍然使用旧证书
如果网站使用 CDN,用户实际建立 TLS 连接的是 CDN 节点。
源站证书更新并不代表 CDN 证书已经同步。
多服务器节点证书不一致
负载均衡后面有多个服务器时,某一台节点仍可能返回旧的自签名证书。
这也是生产环境中比较容易遇到的问题。
访问到了错误的IP地址
DNS、hosts 文件或代理配置异常,也可能让客户端连接到另外一台服务器。
因此,遇到证书错误时,最好同时检查:
DNS → IP → CDN/负载均衡 → Web服务器 → 实际返回证书
而不是只检查证书文件本身。
MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT 的核心原因是 Firefox 无法建立到受信任根 CA 的证书信任链。公网网站应该使用公共 CA 签发的证书,并检查域名、有效期和完整证书链;企业内网则可以使用私有 CA,但必须让客户端信任企业根 CA。对于临时测试可以接受自签名证书风险,但正式生产环境不应长期依赖忽略浏览器警告的方式解决问题。
常见问题 FAQ
Q:Firefox提示MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT是什么意思?
A:表示 Firefox 在验证 HTTPS 服务器证书时无法建立可信的证书链,最常见的原因是服务器使用了自签名证书,或者企业私有 CA 的根证书没有被客户端信任。
Q:公网网站可以使用自签名SSL证书吗?
A:技术上可以建立 TLS 加密连接,但公共用户的 Firefox、Chrome、Edge 等浏览器不会默认信任该证书,因此正式公网网站不适合使用自签名证书。
Q:企业内网使用自签名证书可以吗?
A:测试环境可以。正式企业内网更建议建立私有 CA,由内部 CA 统一签发服务器证书,再通过企业设备管理系统向客户端部署根 CA。
Q:更换SSL证书后Firefox还是报自签名证书怎么办?
A:重点检查实际返回的证书,而不是只看服务器上的证书文件。依次检查 DNS、CDN、负载均衡、多服务器节点以及 Web 服务配置,确认用户实际连接到的节点已经返回新的公共 CA 证书。



京公网安备11010502031690号
网站经营企业工商营业执照
















