2016-12-20 68 views
0

我已經使用SSL通過從XMLHTTPREQUEST(html頁面)調用它來在Windows服務中配置了自託管web api。在Windows服務中配置自承載的Web Api以通過從XMLHTTPREQUEST調用來使用SSL

我正在使用CERTENROLLLib.dll在代碼本身中創建自簽名的SSL證書。

證書正在創建,它也被添加到瀏覽器的受信任根證書頒發機構(在瀏覽器的SSL證書列表中)。

而且我也使用CORS,http/https在IE中正常工作。

只有Http在Chrome瀏覽器中啓動,但https沒有在Chrome瀏覽器中工作 - 直接進入onrorror(功能)並顯示警報消息。

我不明白問題在哪裏 - 它在web api或html頁面。 這是我的html功能。

function COMPortOpen() { 
      var url = "https://localhost:8989/Values/COMPortOpen"; 
      var xmlhttp; 
      if (window.XMLHttpRequest) { 
       xmlhttp = new XMLHttpRequest(); 
      } 
      else { 
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange = function() { 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
        if (xmlhttp.responseText == '"0"') { 
         alert("Device successfully connected"); 
        } 
        else { 
         alert("Device not connected"); 
        } 
       } 
       xmlhttp.onerror = function() { 
        alert("Check If Service/Utility is Running"); 
       } 
      } 
      xmlhttp.open("POST", url, true); 
      xmlhttp.withCredentials = true; 
      xmlhttp.send(); 
     } 

我錯過了什麼?如何讓Chrome使用SSL證書。

回答

0

你有沒有試過在鉻瀏覽器中允許CORS?

對於Windows,從命令行 chrome目錄運行這個(關閉所有正在運行的Chrome實例後):

chrome.exe --disable-web-security 

或者,您可能要安裝一個插件,鉻,切換上CORS /關閉。

+0

感謝Richard的回覆。我有解決方案。 –

相關問題