【问题标题】:Why https request fails on Charles Proxy if SSL proxying is turned on如果 SSL 代理打开,为什么 https 请求在 Charles Proxy 上失败
【发布时间】:2018-02-19 20:36:06
【问题描述】:

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

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

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

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

【问题讨论】:

  • Charles 面板上是否出现 HTTPS 请求?好像如果您的 Safari 无法访问 Charles 的代理端口,您可以用 Chrome 尝试一下吗(您可能需要使用一些代理扩展,例如 SwitchyOmega)并比较结果以确定是 Safari 的问题还是 Charles 的问题?跨度>
  • 页面未打开的行为是相同的,我可以在 Charles 面板中看到请求
  • 如果“CHARLES Proxy CA”在设备中受信任,你能做到吗?转到设置 -> 常规 -> 个人资料,然后查看其是否受信任
  • 我看到了它的信任
  • 一分钱掉了!从 iOS 10.3 开始,必须手动打开证书的 SSL 信任,因此请转到 设置 > 常规 > 关于 > 证书信任设置。在为根证书启用完全信任下为证书启用信任。它应该可以解决我猜的问题。如果有帮助请告诉我

标签: ios macos ssl ssl-certificate charles-proxy


【解决方案1】:

如果您使用的是 iOS 10.3 或更高版本,请打开 Settings.app 并导航至 General > About > Certificate Trust Settings,然后找到 Charles Proxy 证书,然后打开它以启用对它的完全信任

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

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

【讨论】:

    【解决方案2】:

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

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

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

    Settings > General > Profiles 检查证书列表中以Charles Proxy CA 开头的名称 点击查尔斯证书并使用Remove profile选项一一删除

    第 2 步:安装新的 Charles 证书

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

    获取 IP 和端口详细信息

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

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

    2.4:设置 > 常规 > 配置文件中的信任证书

    2.5:切换到常规 > 关于 > 证书信任设置

    现在,重新启动 Charles。您应该可以看到查尔斯的交通情况

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多