2016-11-29 10 views
0

私はアプリケーションをホストするためにgolang go-ginサーバーを使用しています。フロントエンドとバックエンドの両方がhttpsで動作し、両方が別々のプロジェクトです。フロントエンドはAPIベースのバックエンドにajax呼び出しを行います。ブラウザのキャッシュ(Google Chrome)をクリアしてUIを読み込もうとすると、最初はバックエンドAPIと通信しません。次に別のタブで私は基底のURL(https://localhost:8080/)を受け取り、証明書を受け入れ、それが動作します。これを避ける方法はありますか?私は、フロントエンドが自動的に証明書を受け入れ、それについて文句を言わないようにしたい。go-ginを使用して証明書をプログラムで自動的に受け入れます。

+0

を得るために、カスタムtls.Configを使用することができますその警告を防ぐために他のコンピュータは、あなたが何をajaxでそれを使用する場合、他の方法はありません。また、あなたがこの瞬間に発展しているように見えるので、その提案に対して簡単な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属性を見つけることができます。

証明書は、接続の反対側に提示するために、1つ以上の証明書チェーン が含まれています。 サーバー構成に少なくとも1つの証明書 が含まれているか、GetCertificateを設定する必要があります。

次に、あなたが自己署名証明書を使用している場合は、ブラウザ/システムで、任意でそれをインストールする必要がありますあなたの目的のためにhttp.Transport

tr := &http.Transport{ 
    TLSClientConfig: &tls.Config{...custom config attrs...}, 
} 
関連する問題