2012-01-23 37 views
9

我相對較新的phonegap,我最近在自己的Windows apache服務器上設置了HTTPS/SSL自簽名證書,並試圖發出HTTPS ajax post請求。請求在瀏覽器中運行時工作正常,但在phonegap內運行時失敗。我試着將android:debuggable設置爲false,但沒有解決問題。我也做了一些研究,似乎phonegap確實支持HTTPS ajax請求,所以我很困惑爲什麼請求失敗。PhoneGap使用自簽名證書的HTTPS服務器的Ajax調用失敗

有誰知道這可能是爲什麼?

+1

我也遇到過這個問題。唯一的問題是你的web服務是自簽名的。如果和當你得到正確簽署的證書,這不會是一個問題。現在你可以使用HTTP進行測試。 – sciritai

+0

謝謝!問題在於自簽名證書,這對於正確簽署的證書不是問題。 – user1014759

回答

8

這是從喬的庫巴報價是誰寫的代碼,允許在PhoneGap的Android的自簽名的證書:

  1. 如果你正在做開發:安卓:在清單可調試=「真」,你應允許瀏覽器通過自簽名或不良SSL證書向服務器請求數據
  2. 如果您要發佈應用程序,則應刪除android:debuggable =「true」(Android Market不會讓您發佈 無論如何),你將無法發送數據到服務器與 一個不好的SSL證書
  3. 如果你沒有設置這個標誌,默認是默認的,這就是你將無法發送數據到 服務器與自簽證書

所以看起來你應該能夠通過設置android:debuggable =「true」來做你想做的事情。如果這不適合你,我們需要從你那裏得到一個複製場景,PhoneGap的版本和你使用的Android版本。

可能是最好的提高JIRA中的一個錯誤對我們來說:

https://issues.apache.org/jira/browse/CB#selectedTab=com.atlassian.jira.plugin.system.project%3Aissues-panel

+1

有沒有針對iOS的解決方案? – Charles

+0

@ charles:[this suggestion](http://stackoverflow.com/a/9658166/814416)對我來說最合適。 – sherb

+1

這似乎不適用於Android棒棒糖 – AlexLopezIT

1

我花了幾個小時就這個問題,直到我發現有一個quick and dirty fix可能。它涉及覆蓋CordovaWebViewClient忽略證書錯誤。

相關問題