2016-05-20 385 views
57

我在Chrome控制檯從我的API獲取一些數據時,得到一個錯誤的Net :: ERR_INSECURE_RESPONSE網:: ERR_INSECURE_RESPONSE在Chrome

這個錯誤通常發生是由於未簽名的證書的結果;然而,這不是一個問題,因爲我有一個有效的簽名證書。

錯誤不會經常發生,如果我重新啓動Chrome瀏覽器,錯誤就會消失。它也不會在任何其他瀏覽器中出現(在Safari,Mozilla,Opera上測試)

任何想法爲什麼會發生這種情況?這只是一個瀏覽器錯誤?

+2

我也有這個問題,但它在客戶端網站上是100%可重複的,並且在其外部可重複使用0%。我也正在使用有效的簽名證書,這使得幾乎所有網絡信息都無法使用,因爲它已經提到了自簽名證書。 – kirps

+0

您也在SSL上聯繫的API? – artur99

回答

0

也許你遇到了這樣的問題:net::ERR_INSECURE_RESPONSE

你需要檢查你的服務器所支持的加密算法。例如,對於apache,您可以用這種方式配置密碼套件:cipher suite

您正在運行哪個版本的chrome以及爲您的API提供服務的服務器是什麼?

+1

不認爲這是問題,因爲重新啓動瀏覽器會導致此問題消失 – Karim

+1

並使用chrome 50.0.2661.102並使用Rails提供我的API。然而,正如我所提到的,不能一致地重現這個問題,因爲關閉瀏覽器會使所有的工作再次起作用,所以似乎沒有加密算法的問題 – Karim

1

我在amazon.ca,meetup.com和Symantec主頁上發現了此錯誤。

我去了Chrome瀏覽器(它是在53. *)的更新頁面,並檢查了升級,它顯示有沒有更新可用。在詢問我的辦公室後,結果發現最新版本是55,但由於某種原因,我被困在53上。

升級後(不得不從Chrome網站手動下載)問題不復存在!

68

當您從Chrome 55更新到Chrome 56(56.0.2924.87)時會出現這種情況。
這是安全執法的增加。
重啓瀏覽器並不會消失,它不是一個錯誤。

山景表示,它希望你永遠不要遇到的消息, 因爲證書頒發機構被要求停止發放SHA-1 證書在2016年爲以防萬一,谷歌計劃繼續發行 警告到Chrome瀏覽器在2017年1月1日完全停止支持SHA-1 。當該日到來時,仍然使用功能 的網站將觸發致命的網絡錯誤。 (來源:Engadget.com

如果出現這種情況,最可能的原因是您(或網站)SSL證書使用SHA1。
SHA1被破壞,並且使用SHA1的SSL證書不再安全(Chrome現在已經很長時間向您顯示了這一點 - 現在它阻止了NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM)。

另一個可能的原因是,你的SSL證書過期
此外,你應該禁用向後兼容性與SSL2 & SSL3(Poodle Attack)。
您應該只使用TLS(SSL 3.1+)。

要測試您的域的SSL證書,您可以使用SSL labs SSL test

要找出究竟是什麼的問題是: 打開Chrome開發者控制檯(CTRL + SHIFT + J或F12) 並切換到安全選項卡

Security

Console

Details

欲瞭解更多信息:
https://support.google.com/chrome/answer/95617?visit_id=1-636221396724527190-3454695657&p=ui_security_indicator&rd=1

FYI:在其網址:

SHA-1已經被越來越多的日常弱,更不安全了十年 現在,這是很危險的考慮,我們傾向於 信任的網站「// https」開頭。其他瀏覽器如Mozilla Firefox和 微軟Edge也計劃停止支持它,努力 鼓勵網站所有者儘快切換到更安全的SHA-2證書 。

如果您急需要解決它(你需要關閉的所有Chrome運行實例第一 - 否則將無法正常工作):

chrome --args --ignore-certificate-errors 

請注意:不要使用Chrome實例中處於活動狀態的命令行設置不會進行網上銀行或Gmail郵件。

+0

我已通過命令'defaults write com.google.Chrome EnableSha1ForLocalAnchors -bool true'修復了mac,然後重新啓動Chrome。有關如何在其他操作系統上執行enableSha1ForLocalAnchors的詳細信息。 – okutane

+0

另一個原因是您是使用自簽名證書的Web開發人員。感謝Google。 –

57

我最近有類似的問題。我試圖訪問具有自簽名證書的https REST端點。我在Google Chrome控制檯中獲得了net::ERR_INSECURE_RESPONSE。在網絡上搜索了一下,找到了適用於我的解決方案:

  1. 在您嘗試進行API調用的窗口中打開一個新選項卡。
  2. 導航到您嘗試以編程方式訪問的https URL。
  3. 您會看到類似這樣的畫面: enter image description here
  4. 點擊高級>繼續<url>,你應該看到的響應(如果有的話)
  5. 現在嘗試通過你的腳本語言的API調用。
+0

我希望你不用這個來傳輸機密信息(信用卡支付)。如果您擁有內部自簽名證書,顯然正確的方法是將證書添加到機器/域(或Linux上的mozroots)的可信證書。不安全將忽略任何和所有證書錯誤 - 這意味着使用SSL是完全沒有意義的,您也可以使用HTTP。 –

+1

這個答案非常有用。謝謝! –

+0

是的,我使用了相同的技巧,但使用真正的證書似乎是唯一可行的方法。 – Vadorequest

2

對我來說,這個問題的答案是可以在這裏找到在計算器上:

ERR_INSECURE_RESPONSE caused by change to Fiddler's root certificate generation using CertEnroll for Windows 7 and later

不幸的是,這種變化可能會導致誰也 以前信任提琴手根證書用戶的問題;瀏覽器可能會顯示一個類似於NET :: ERR_CERT_AUTHORITY_INVALID的錯誤消息,或 證書未由可信證書頒發機構頒發。

(引自the original source

我對Chrome瀏覽器的開發者工具顯示在瀏覽器和ERR_INSECURE_RESPONSE這個ERR_CERT_AUTHORITY_INVALID錯誤。

+1

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/17710338) – Socowi

0

我在Android上測試我的Cordova應用程序時遇到此問題。它只是碰巧這個Android設備不會保存它的日期,並會以某種方式重置回它的出廠日期。它調用的API有一個從今年開始有效的證書,而啓動後的設備日期是在2017年。目前,我必須adb shell並手動更改日期。

相關問題