2016-11-29 33 views
0

我使用golang go-gin服務器託管應用程序。前端和後端都通過https工作,兩者都是單獨的項目。前端對基於rest API的後端進行ajax調用。如果我清除瀏覽器緩存(Google Chrome)並嘗試加載用戶界面,則它最初不會與後端API進行通信。然後在另一個選項卡中,我點擊基本網址(https://localhost:8080/)接受證書,然後運行。有什麼辦法可以避免這種情況?我希望前端應該自動接受證書,而不是抱怨。使用go-gin以編程方式自動接受證書

+0

如果您使用的是自簽名的證書,您必須在瀏覽器/系統,並且在任何安裝它其他計算機,以防止這種警告,沒有其他方式,如果你與阿賈克斯使用它。此外,它看起來你在這個時候正在開發,所以,你可以使用一個簡單的http來建議。如果您直接連接兩個golang服務器而不使用瀏覽器,則可以使用http.Transport禁用tls驗證。 – Motakjuq

+0

有一個很好的答案http://stackoverflow.com/questions/12122159/golang-how-to-do-a-https-request-with-bad-certificate – I159

回答

0

tls.Config你可以找到Certificates屬性,這可能是在您的情況有所幫助:

證書包含一個或多個證書鏈 呈現給連接的另一端。 服務器配置必須包含至少一個證書 或者設置GetCertificate。

然後你可以使用自定義tls.Config以獲得您的目的http.Transport

tr := &http.Transport{ 
    TLSClientConfig: &tls.Config{...custom config attrs...}, 
} 
相關問題