使用自签名证书对HTTPS服务器的PhoneGap Ajax调用失败

使用自签名证书对HTTPS服务器的PhoneGap Ajax调用失败,ajax,post,ssl,https,cordova,Ajax,Post,Ssl,Https,Cordova,我对phonegap比较陌生,最近在我的windows apache服务器上使用自签名证书设置了HTTPS/SSL,并尝试发出HTTPS ajax post请求。请求在浏览器中运行时工作正常,但在phonegap中运行时失败。我尝试将android:debugable设置为false,但这并没有解决问题。我也做了一些研究,似乎phonegap确实支持HTTPS ajax请求,所以我对请求失败的原因感到困惑 有人知道为什么会这样吗 这是Joe Bowser的一句话,他编写了允许PhoneGap A

我对phonegap比较陌生,最近在我的windows apache服务器上使用自签名证书设置了HTTPS/SSL,并尝试发出HTTPS ajax post请求。请求在浏览器中运行时工作正常,但在phonegap中运行时失败。我尝试将android:debugable设置为false,但这并没有解决问题。我也做了一些研究,似乎phonegap确实支持HTTPS ajax请求,所以我对请求失败的原因感到困惑


有人知道为什么会这样吗

这是Joe Bowser的一句话,他编写了允许PhoneGap Android上的自签名证书的代码:

  • 如果您正在清单中执行development:android:debuggable=“true”,则应该允许浏览器从服务器请求数据 使用自签名或错误的SSL证书
  • 如果您正在发布应用程序,您应该删除android:debuggable=“true”(android Market不允许您使用 但此选项仍处于启用状态),并且您将无法使用向服务器发送数据 错误的SSL证书
  • 如果没有设置此标志,默认值将是现在的默认值,即您将无法向其发送数据 具有自签名证书的服务器
  • 因此,通过设置android:debuggable=“true”,您似乎可以做您想做的事情。如果这对你不起作用,我们需要从你那里得到一个复制场景,你正在使用的PhoneGap版本和Android版本

    也许最好在Jira中为我们提出一个bug:


    我花了数小时研究这个问题,直到我发现有一种可能。它涉及覆盖
    CordovaWebViewClient
    以忽略证书错误

    我也遇到过这个问题。唯一的问题是您的Web服务是自签名的。如果您获得正确签名的证书,这将不是问题。现在您可以使用HTTP进行测试。谢谢!问题是自签名证书,而正确签名的证书没有问题。iOS有什么解决方案吗?@charles:对我来说效果最好。