2016-12-04 41 views
-1

所以我是兩個站點的開發人員:domainA.com和domainB.com。 domainA.com在一封電子郵件從飼料使用domainB.com以下JavaScript鏈接拉:有沒有購買SSL證書的ERR_INSECURE_RESPONSE解決方法?

<script type="text/javascript" src="http://emailfeed.domainB.com/blah"> 

這是工作正常,但我最近有購買和安裝domainA.com SSL證書。做完這些之後,我通過使用http來引用一對apis而出現了一些錯誤,我通過將它們的鏈接更改爲https來快速修復它。然而,當我試圖改變上面的鏈接到https,我得到

GET https://emailfeed.domainB.com/blah net::ERR_INSECURE_RESPONSE 

,我立即知道是因爲domainB.com沒有一個SSL證書。看起來我無法從https站點訪問任何http資源。我明白爲什麼它是這樣設置的,但是由於我控制了兩個站點,所以我也知道這兩個站點都是安全的,這看起來也非常不方便。

所以我的問題是,是否有解決此問題的方法,而無需爲domainB.com購買SSL證書?

+0

的SSL證書* *有作爲「的SSL」沒有這樣的事。 – EJP

回答

0

不,沒有獲得SSL證書就沒有辦法解決這個問題。

但是,請注意,我說的得到證書,不買一個。您可以從Let's Encrypt獲得免費的SSL證書,不附加任何字符串。

1

...因爲我控制這兩個網站,所以我知道都是安全的

SSL/TLS不保護網站的安全性,還可以使沒有關於網站的安全性假設它使用SSL/TLS。 SSL/TLS僅保護客戶端和服務器之間的數據傳輸。此傳輸可能會受到攻擊,而不會攻擊服務器或客戶端,即使您完全控制了服務器,通常也無法完全控制客戶端和服務器之間的網絡路徑。

GET https://emailfeed.domainB.com/blah網:: ERR_INSECURE_RESPONSE

這意味着客戶端無法驗證它是否會談到正確的服務器,也就是說,它也可能是錯誤的服務器或中間人。再一次,這並不假定服務器本身的安全性。

所以我的問題是,是否有解決此問題的方法,而無需爲domainB.com購買SSL證書?

如果只有少數客戶端,所有的這些客戶都在你的控制,你可以讓這些客戶接受網站的特定自簽名證書。如果您有更多的客戶端或客戶端無法控制,則需要獲得客戶端信任的證書而不添加明確的例外。此類證書由客戶信任的CA簽署。您可以從各種CA獲得此類證書,並根據您期望從CA獲得的證書種類和服務,他們可能會花費金錢,甚至可能免費,例如Let's Encrypt

0

您可以通過DOMAINA選擇代理一切,讓GET是從DOMAINA一個URL,您擁有一個證書,然後在該機器上的後端軟件使得到域B的連接,轉發響應。