开启SSL代理后Charles Proxy中HTTPS请求失败的问题排查
我碰到过好几次一模一样的问题,给你整理几个最有效的排查步骤,一步步来应该能搞定:
确认证书已正确添加到系统钥匙串并设为全信任
打开Charles后,通过顶部菜单进入Help > SSL Proxying > Install Charles Root Certificate,弹出钥匙串访问窗口后找到「Charles Proxy CA」证书。双击它切换到「信任」选项卡,把「使用此证书时」的选项改成「始终信任」——注意Ventura及以上系统改完需要输入管理员密码,之后最好重启Charles和Safari生效。检查SSL代理规则是否覆盖目标站点
点击Charles顶部菜单的Proxy > SSL Proxying Settings,首先确保「Enable SSL Proxying」是勾选状态。然后点击「Add」,在Host栏填*(通配符,覆盖所有HTTPS站点),Port栏填443后保存。如果之前只加了特定域名,那其他HTTPS站点自然会连接失败。验证浏览器代理设置与Charles同步
打开Safari的「偏好设置 > 高级」,点击「更改设置」进入系统代理面板。确认「网页代理(HTTP)」和「安全网页代理(HTTPS)」的地址都是127.0.0.1,端口是Charles默认的8888(如果你改过端口就填对应数字)。有时候Charles自动配置代理会出bug,手动设置更稳妥。排查防火墙或安全软件的拦截
临时关闭Mac系统防火墙(路径:系统设置 > 网络 > 防火墙),试试能不能访问HTTPS站点。如果装了第三方安全软件(比如Little Snitch、CleanMyMac的防护模块),也暂时关闭——这类软件经常会拦截Charles的SSL连接请求。重置Charles证书重新安装
先在钥匙串访问里找到「Charles Proxy CA」证书右键删除,然后回到Charles菜单选Help > SSL Proxying > Reset Charles Root Certificate,重新走一遍证书安装和信任的流程。这个方法能解决证书损坏或安装过程中出现的隐性问题。检查版本兼容性
如果你的Mac系统是最新版(比如Sonoma),但Charles版本比较老旧,很可能存在兼容性问题。去Charles官网下载最新版本安装后,再重新配置证书试试。
要是以上步骤都试过还是不行,你可以打开Charles的日志面板(Window > Log),里面会显示具体的连接错误信息,能帮你更精准地定位问题。
内容的提问来源于stack exchange,提问作者Elstine P




