API仅适用于fiddler正在运行

时间:2015-06-30 18:16:42

标签: asp.net-mvc api ssl shopify

我已经编写了一个实用程序应用程序,用于通过其余API将数据加载到shopify中。

有一个奇怪的错误,api仅在我运行Fiddler时有效。

知道发生了什么事吗?我确定这是配置问题,而不是代码问题。

当Fiddler正在运行时,通过127.0.01:8888上的代理进行Web访问。

我没有足够先进的SSL来解决这个问题。您是否需要自签名证书才能连接到SSL API。

我发现一些帖子建议设置ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls但是没有解决它!

2 个答案:

答案 0 :(得分:4)

>>您是否需要自签名证书才能连接到SSL API。

我们的申请遇到了类似的问题。如果API有任何证书错误(在我们的例子中,我们使用的是自签名证书),浏览器将不允许您与API进行交互。

解决方案:安装根证书,以便浏览器开始尊重您的自签名证书。

>>有一个奇怪的错误,api仅在我运行Fiddler时才有效。知道发生了什么事吗?我确定这是一个配置问题,而不是代码问题。

每当你在fiddler中启用HTTPs流量解密时(参见下面的图片,在fiddler中启用此设置),下面会发生一些事情。

  1. Fiddler将自动安装其根证书
    “DO_NOT_TRUST_FiddlerRoot”到浏览器的CA列表。
  2. Fiddler将使用您的API的自签名证书来解密HTTP流量。
  3. 再次,fiddler将使用fiddler签名的加密相同的HTTP流量 证书,即,您的所有API调用都将有fiddler签名     证书
  4. 由于用户浏览器信任fiddler签名证书(由于步骤#a),您将看不到任何证书错误。

    Fiddler

    希望这些信息可以帮到你!

答案 1 :(得分:1)

原来我将SSL类型设置为SSL3。

即。我有这个代码 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 而shopify不再使用SSL3。

原来这与安装证书无关。