whistle证书问题导致接口报错ERR_CERT_AUTHORITY_INVALID

0 阅读1分钟

背景:使用 whistle + SwitchyOmega 做本地代理

1、桌面端安装 whistle

macOS、Windows、Linux(ubuntu/fedora)

github.com/avwo/whistl…

命令行安装 whistle

#安装
npm i -g whistle
#启动
w2 start

2、配合 SwitchyOmega 在单个浏览器使用

chrome扩展插件

image.png

3、在 whistle 中配置代理

浏览器中打开http://127.0.0.1:8899

image.png

遇到的问题

请求接口服务报错 ERR_CERT_AUTHORITY_INVALID

查了一下这个错误 ERR_CERT_AUTHORITY_INVALID,它表示 SSL 证书验证失败,是HTTPS 连接时的常见问题。

并且whistle中也有一个飘红提示:Full functionality of the rules requires activation of the 'Enable HTTPS (Capture Tunnel Traffic)' option

意思是:当前规则的部分功能(特别是涉及 HTTPS 流量的拦截、修改或重定向)需要开启 HTTPS 捕获功能才能生效。

Whistle 默认只捕获 HTTP 流量,要处理 HTTPS 请求(如修改 HTTPS 请求头、重定向 HTTPS 站点、捕获 WebSocket 等),必须安装根证书并启用 HTTPS 拦截。

解决步骤:

  • 下载并安装根证书 访问 Whistle 控制台,点击顶部菜单的 HTTPS 选项,或访问:local.whistlejs.com/#network 点击 "Root CA" 或 "Download Root CA" 下载证书文件 rootCA.crt。

image.png

  • 双击下载的证书,在钥匙串访问中设置为"始终信任"

image.png

  • 重启 Whistle 服务
w2 restart