如果启用SSL代理,为什么Charles Proxy上的HTTPS请求会失败?

5
我已经在我的Mac上安装和配置了Charles代理。
我能够浏览所有的http网站,并在Charles中看到请求,但我无法浏览https网站,而是收到"无法连接"的消息。

Safari无法打开页面,因为它无法建立安全连接。

根据Charles上的说明,我已经安装了SSL证书,但所有的https连接都失败了。

1
HTTPS请求是否会出现在Charles面板上?如果你的Safari无法连接到Charles的代理端口,可以尝试使用Chrome(可能需要使用一些代理扩展程序,如SwitchyOmega),并比较结果以确定是Safari的问题还是Charles的问题。 - Lluís Suñol
无论页面是否打开,行为都是相同的,我可以在Charles面板中看到请求。 - Elstine P
非常奇怪,因为您能够看到来自设备的请求,这意味着代理已经配置好了,但是 HTTPS 流量却无法成功。我认为可能是代理 CA 没有正确安装。但是您已经正确安装并且在设备上已经被信任,所以不应该有其他问题。 - Durai Amuthan.H
5
有所领悟!从iOS 10.3开始,必须手动开启证书的SSL信任,因此请进入设置 > 通用 > 关于本机 > 证书信任设置。在启用根证书的完全信任下,打开证书的信任。这样应该会解决问题。如果有帮助,请告诉我。 - Durai Amuthan.H
它开始工作了。 - Elstine P
显示剩余5条评论
2个回答

15
如果你使用的是,请打开设置应用程序并导航到通用 > 关于本机 > 证书信任设置,然后找到Charles Proxy证书,并将其开启以启用完全信任
现在,您应该能够使用SSL代理访问SSL网站。
有关参考,请查看Charles SSL文档中的iOS设备部分

2

我需要在我的Mac+iOS设置中做一些额外的步骤才能让Charles正常工作。

我使用的设备是团队共享的,并安装了多个用于Charles的证书。为了解决问题,我尝试重新安装证书,这样就可以解决问题了。

步骤1:删除所有现有证书

设置 > 通用 > 描述文件 检查名称以Charles Proxy CA开头的证书列表 单击Charles证书,然后使用删除描述文件选项逐个删除

步骤2:安装新的Charles证书

2.1:Charles(来自Mac系统)文档 -> 帮助 -> SSL代理 -> 在移动设备或远程浏览器上安装Charles根证书

捕获IP和端口详细信息

2.2 : 前往iOS设备 -> 设置 -> Wi-Fi -> 点击已连接的网络 -> 在HTTP代理选项中选择配置代理 -> 在设备中添加IP地址为Server,端口为8888,身份验证关闭

2.3 : 打开Safari并浏览chls.pro/ssl,下载证书并安装

2.4 : 在“设置” > “通用” > “个人资料”中信任证书

2.5 : 切换到“通用” > “关于本机” > “证书信任设置”

现在,重新启动Charles。您应该能够在Charles中看到流量


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接