【问题标题】:Charles Proxy SSL certificate not accepted by browsers浏览器不接受 Charles Proxy SSL 证书
【发布时间】:2014-07-07 14:47:36
【问题描述】:

我使用 Charles 代理(在 OS X 10.9.3,Mavericks 下)修改 Origin 标头,以便我连接的 API(开发中)接受来自开发环境的传入请求。

我设法通过一个简单的重写规则完成了这项工作,直到今天一切正常。

目前的问题是浏览器没有连接到代理(由Charles设置)。请求中的“失败”字段显示:“未提出请求。可能 SSL 证书被拒绝。”,在下方的备注字段中:“您可能需要配置浏览器以信任 Charles CA SSL 证书。” .

我已经这样做了,而且效果很好。从那以后我没有改变查尔斯的配置。我试图让它工作的事情:

  1. 卸载并重新安装the Charles certificate
  2. 在以下浏览器中尝试相同的操作:Chrome Canary、Chrome stable、Safari 和 Firefox
  3. 使用 HTTP 代理而不是更高级的 SOCKS 代理。

我还确保无论默认设置如何,Charles 证书始终是受信任的:

不确定这是否是解决方案的线索,但是当我在 Charles 打开的情况下直接导航到 api 时,我看到了这个:

该 API 确实托管在 Windows Azure 平台上,但我不明白为什么 Charles 证书(因为 Charles 充当中间人,向浏览器显示其证书)是 *. azurewebsites.com 而不是实际的主机。

请务必注意,实际主机(例如 api.example.com)具有购买的有效 *.example.com 通配符证书。

如果有人对如何解决此问题或到底发生了什么有任何提示,我将非常感谢她的建议。

谢谢。

ps。如果我调整直接请求以获得正确的 Origin 标头(修改/清除敏感信息):

GET /xxx HTTP/1.1
主机:api.example.com
连接:保持活动
缓存控制:max-age=0
接受:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
用户代理:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36
接受编码:gzip、deflate、sdch
接受语言:en-US,en;q=0.8,hu;q=0.6
饼干:...
来源:https://acceptable.host.com

我收到以下回复:

HTTP/1.1 400 错误请求
内容长度 46
内容类型应用程序/json;字符集=utf-8
服务器 Microsoft-IIS/8.0
X-Powered-由 ASP.NET
Set-Cookie ARRAffinity=secret-token;Path=/;Domain=api.example.com
日期 2014 年 5 月 21 日星期三 07:58:02 GMT

【问题讨论】:

  • “当我在 Charles 打开的情况下直接导航到 api 时”是什么意思?与第一种情况有什么区别,因为在这两种情况下查尔斯都在?
  • 对不起,我不清楚。在第一种情况下,我导航到 localhost:8000 并从那里向 API(上面的 api.example.com)发出 XHR 请求。在第二种情况下,我直接导航到 API 服务器的根目录,api.example.com
  • 那么在第二种情况下,如果你'继续',你在查尔斯身上看到了什么?如果 Charles 确实在代理请求,您至少应该看到服务器返回的内容,其标头会为您提供一些线索,说明为什么它看到的是 *.azurewebsites.net 而不是您自己的域。
  • 是的,我很确定如果直接请求给你这个警告,你会得到一个 XHR 请求的错误。如果您在 Firefox 中打开开发人员调试控制台,您应该能够看到错误。
  • 我设法通过了直接请求并将响应标头作为 ps 粘贴到我原来的问题中。

标签: charles-proxy


【解决方案1】:

这是一个非常古老的问题,但这是我今天为仍有问题的任何人找到的答案。

https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

您必须允许您的机器接受 Charles ssl 证书。 (在 Mac 上,这是通过钥匙串完成的)。

【讨论】:

    猜你喜欢
    • 2016-08-24
    • 2019-06-16
    • 1970-01-01
    • 2018-05-20
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多