You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache配置SSL证书后,Firefox提示证书对192.168.0.44无效但证书实际包含该IP的问题解决

Apache配置SSL证书后,Firefox提示证书对192.168.0.44无效但证书实际包含该IP的问题解决

嘿,这个问题我遇见过!你看到的那个看似矛盾的错误提示(说证书对192.168.0.44无效,但又说证书只对192.168.0.44有效),根源其实是你证书里的**Subject Alternative Name(SAN)**配置犯了个小错误——你把IP地址当成DNS域名来声明了,Firefox根本不认这个类型的SAN条目。

问题原因

在你的entity.cnf里,你把IP地址放在了DNS.1字段下:

[alt_names]
DNS.1 = 192.168.0.44

但DNS.*字段是用来声明域名的,IP地址需要用IP.*字段来声明。Firefox会把DNS.1里的IP字符串当成一个普通的DNS域名去匹配,自然和你访问的IP地址192.168.0.44不匹配,所以才会弹出那个奇怪的错误。

解决步骤

  1. 修改证书配置文件
    打开/etc/certs/test/entity.cnf,把[alt_names]部分改成:

    [alt_names]
    IP.1 = 192.168.0.44
    
  2. 重新生成证书
    先删除旧的相关证书文件,避免缓存影响:

    rm /etc/certs/test/entity.csr /etc/certs/test/entity.crt /etc/certs/test/ca.serial
    

    然后重新运行证书生成脚本:

    cd /etc/certs/test && ./make-certs.sh
    
  3. 重启Apache服务
    让Apache加载新的证书:

    systemctl restart apache2
    
  4. 验证证书配置(可选)
    用openssl命令检查证书的SAN条目是否正确:

    openssl x509 -in /etc/certs/test/entity.crt -noout -text | grep -A 3 "Subject Alternative Name"
    

    如果输出里显示IP Address:192.168.0.44,就说明配置正确了。

补充说明

  • 你之前导入到Firefox的CA证书不需要重新导入,只要服务器端的证书更新并重启Apache就可以了。
  • 之前用域名hello.test.com能成功,是因为你用DNS.1声明域名是正确的,Firefox可以正常匹配域名访问请求。

备注:内容来源于stack exchange,提问作者learningtech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:10:26