如果启用了 SSL 代理,为什么 Charles 代理上的 https 请求会失败

Why https request fails on Charles Proxy if SSL proxying is turned on

我已经在 mac 中安装并配置了 Charles 代理。

我可以浏览所有 http 站点并在 Charles 中查看请求,但我无法浏览 https 站点我无法连接

Safari cannot open the page because it could not establish a secure connection.

我已经安装了 Charles 中提到的 SSL 证书,但是所有 https 连接都失败了

如果您使用的是 iOS 10.3 或更高版本,请打开 Settings.app 并导航至 常规 > 关于 > 证书信任设置,然后找到 Charles Proxy 证书,然后 将其打开以启用完全信任

现在您应该可以使用 SSL 代理通过 Charles 访问 SSL 网站了。

查看 Charles SSL documentation 中的 iOS 设备部分以供参考

我必须执行一些额外的步骤才能让 Charles 在我的 Mac+iOS 设置中工作

我使用的设备是团队之间共享的,并为 Charles 安装了多个证书,为了解决这个问题,我尝试全新安装证书并且它有效

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

Settings > General > Profiles 检查名称以 Charles Proxy CA 开头的证书列表 单击 Charles 证书并使用 Remove profile 选项

一个一个地删除

步骤 2:安装新的 Charles 证书

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

捕获 IP 和端口详细信息

2.2 : 转到 iOS 设备 -> 设置 ->Wi-Fi -> 单击已连接的网络-> Select 在 HTTP 代理选项中配置代理 -> 在服务器中添加 IP 并将端口添加为 8888,并在设备中关闭身份验证

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

2.4:在设置 > 通用 > 配置文件中信任证书

2.5:打开常规 > 关于 > 证书信任设置

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

中的流量