在MacOS上使用Charles Proxy代理SSL时出现Chrome SPDY错误

mar*_*ark 6 ssl proxy google-chrome charles-proxy

我希望Charles在MacOS上浏览Chrome时解密HTTPS流量.

但是,当我访问一个网站(例如,https://www.facebook.com)时,有net::ERR_SPDY_COMPRESSION_ERROR关于多个资源的错误.

我怎样才能解决这个问题?

我到目前为止遵循的步骤:

  1. 打开Keychain Access,搜索charles并删除提及的每个项目charles
  2. 打开Charles Proxy,选择Help > SSL Proxying > Save Charles Root Certificate...并保存charles-ssl-proxying-certificate.pem
  3. Keychain Access再次打开,单击File > Import Items...,选择charles-ssl-proxying-certificate.pem,单击"打开".
  4. 双击新证书,单击Trust,然后When using this certificate:选择Always Trust
  5. 关闭窗口,在"证书信任设置"弹出窗口中输入我的密码,然后单击"确定" Update Settings
  6. 关闭钥匙串访问.
  7. 在Charles Proxy中,选择Proxy > Proxy Settings....检查Enable SSL Proxying并输入*:*位置.单击确定.
  8. 重启Charles和Chrome.
  9. 在Charles中启用MacOS代理.
  10. 在Chrome隐身窗口中访问https://www.facebook.com.
  11. net::ERR_SPDY_COMPRESSION_ERROR在Chrome Inspector控制台中看到了多个错误.

我也尝试了相同的步骤,除了使用Charles Proxy帮助菜单中的Install Charles Root Certificate,但它会导致同样的问题.

Charles 4.0.2
Network: WPA2 WiFi
VPN: no
OS: MacOS 10.12.5
Chrome: 58.0.3029.110
Run Code Online (Sandbox Code Playgroud)

yaa*_*ra4 0

将 Charles 升级到版本 4.2.7 解决了我的问题(版本 4.0.2 有问题)。我认为该修复包含在 4.2.5 改进中:SSL 代理支持扩展到端口转发和非 HTTP SOCKS 流量。