首页 文章

浏览器不接受Charles Proxy SSL证书

提问于
浏览
4

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

我设法用一个简单的重写规则来完成这项工作,一切都工作到今天 .

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

我已经做到了这一点并且完美无缺 . 从那以后,我没有改变Charles的配置 . 我试图让它运作的东西:

  • 卸载并重新安装the Charles certificate .

  • 在以下浏览器中尝试相同:Chrome Canary,Chrome stable,Safari和Firefox

  • 使用HTTP代理而不是 - 更高级的SOCKS代理 .

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

keychain access http://f.cl.ly/items/2G1n1q212U1J0a022R1i/Screen%20Shot%202014-05-19%20at%2017.26.57.png

不确定它是否是解决方案的线索,但是当我打开Charles直接导航到api时,我看到了:
warning

该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,类似Gecko)Chrome / 35.0.1916.114 Safari / 537.36
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en; q = 0.8,hu; q = 0.6
曲奇饼: ...
原产地:https://acceptable.host.com

我收到以下回复:

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

1 回答

相关问题