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

MacOS Ventura下openssl连接google.com证书验证失败排查咨询

本地排查步骤

1. 手动指定SNI参数测试

先给openssl命令强制加上-servername参数指定SNI,执行:

openssl s_client -showcerts -connect google.com:443 -servername google.com

如果此时能正常获取Google的合法证书,说明本地默认的openssl调用未自动发送SNI请求,需进一步排查openssl的版本或配置。

2. 检查DNS解析是否异常

执行以下命令查看google.com的解析IP:

dig google.com
nslookup google.com

将结果和其他正常服务器上的解析结果对比,若IP差异明显,说明本地DNS被篡改或劫持:

  • 检查系统网络设置里的DNS服务器(系统偏好设置 → 网络 → 高级 → DNS),确认是否使用可信DNS服务(如8.8.8.8、1.1.1.1)
  • 刷新本地DNS缓存:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

3. 排查网络拦截类软件

暂时关闭以下工具后重新测试:

  • VPN、代理软件(如Clash、Shadowsocks等)
  • 防火墙工具(如Little Snitch、系统自带防火墙)
  • 安全杀毒软件
    如果关闭后恢复正常,说明对应软件的规则或证书拦截功能导致问题,需调整软件配置。

4. 检查本地hosts文件

查看hosts文件是否存在异常条目:

sudo nano /etc/hosts

搜索google.com相关条目,若存在非Google官方IP的指向,删除后保存,再刷新DNS缓存重新测试。

5. 验证openssl版本与路径

检查当前使用的openssl版本和路径:

openssl version
which openssl

如果是Homebrew安装的openssl(路径通常为/usr/local/bin/openssl),尝试切换到系统默认的openssl(/usr/bin/openssl)执行命令测试:

/usr/bin/openssl s_client -showcerts -connect google.com:443

若系统默认版本正常,说明第三方安装的openssl存在配置或版本问题。

6. 用curl辅助验证

执行curl命令测试连接,观察输出中的证书和SNI相关信息:

curl -v https://google.com

如果curl也出现相同的自签名证书错误,说明问题出在网络层面而非单独的openssl工具;若curl正常,则聚焦排查openssl的配置或参数问题。

7. 检查系统代理设置

进入系统偏好设置 → 网络 → 高级 → 代理,关闭所有手动代理和自动代理配置(PAC),再重新执行openssl命令测试。


内容的提问来源于stack exchange,提问作者Jesper Rønn-Jensen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:19:53