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

使用带网络IP的自签名证书时出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误

问题修复方案

一、修复Express代码中的语法错误

你的getCredentials函数里,fs.readFileSync调用存在括号语法错误,这会导致证书无法正确加载,直接引发SSL握手失败:

原错误代码片段:

let certificate = fs.readFileSync('/path/to/domain.crt'), 'utf8');
let certauth = fs.readFileSync('/path/to/rootCA.crt'), 'utf8');

修正后代码:

let certificate = fs.readFileSync('/path/to/domain.crt', 'utf8');
let certauth = fs.readFileSync('/path/to/rootCA.crt', 'utf8');

二、解决IP访问的SSL验证问题

修正代码后,确认以下两点:

  • 确保rootCA.crt已安装到浏览器的受信任根证书颁发机构列表中(localhost和机器名能正常访问,此步骤大概率已完成,可再检查确认)。
  • 访问时直接使用https://192.168.56.1,无需额外指定端口(你的服务器已监听默认HTTPS端口443)。

三、解决nip.io域名解析失败问题

DNS_PROBE_FINISHED_NXDOMAIN是域名无法解析导致的,可尝试以下操作:

  • 终端执行ping 192.168.56.1.nip.io,测试是否能解析到192.168.56.1的IP,若无法解析,说明当前DNS服务器不支持nip.io域名解析。
  • 更换公共DNS服务器(如8.8.8.8、1.1.1.1)后重新尝试访问。
  • 检查本地防火墙或代理是否拦截了nip.io域名的访问请求。

额外验证步骤

  1. 重新生成证书后,用以下命令检查证书的主题备用名称(SAN)是否包含配置的IP和nip.io域名:
    openssl x509 -in domain.crt -text -noout | grep -A 10 "Subject Alternative Name"
    
    输出需包含IP Address:192.168.56.1和DNS:192.168.56.1.nip.io。
  2. 重启Express服务器,确保代码修改生效。

内容的提问来源于stack exchange,提问作者nick_j_white

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 04:08:11