2013-08-28 47 views
0

我可以在桌面訪問一個web api(JAX-RS),並響應一些JSON數據的本地html文件。我啓用CORS,一切正常,但只有沒有SSL。我如何才能使它與SSL協同工作?我使用自簽名證書,並且可以從WPF應用程序調用此Web API,但是從JavaScript應用程序(獨立HTML文件)中,當Chrome在POST之前發送OPTIONS事先發送時,請求似乎甚至無法到達服務器。我也嘗試在瀏覽器中導入自簽名證書,但沒有任何改變。如何通過SSL從本地html文件通過ajax調用web api?

回答

0

預檢請求不允許包含實體主體或憑證。如果您使用預檢請求,則不能使用雙向SSL。

解決方法是更改​​服務器以使證書可選。我只使用Apache HTTP服務器或Tomcat來完成此操作,但我認爲其他服務器也可以實現這一點。

Apache中設置應改爲

SSLVerifyClient optional 

和Tomcat中的SSL設置應改爲

clientAuth="want" 

沒有這個變化只是簡單的CORS請求將正常工作。