SSL 問題: GoDaddy の証明書を使用した不完全な証明書チェーン
GoDaddy の SSL 証明書を使用して HTTPS Web サーバーをセットアップするときに、次のエラーが発生する場合があります「このサーバーの証明書チェーンは不完全です。」これは、Go コードの構成ミスが原因である可能性があります。
解決策:
この問題を解決するには、ListenAndServeTLS() で使用される証明書ファイルに完全な証明書が含まれていることを確認してください。証明書チェーン。これには、サーバーの証明書、中間証明書 (存在する場合)、およびルート CA 証明書が含まれます。
コードでは、現在メイン証明書ファイルと秘密キーをロードしていますが、バンドル ファイルが欠落しています。これには通常、中間証明書が含まれています。
次の行を次のように置き換えます:
err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")
cert, err := tls.LoadX509KeyPair("cert/myalcoholist.pem","cert/myalcoholist.key") if err != nil { log.Fatalf("server: loadkeys: %s", err) } pem, err := ioutil.ReadFile("cert/cert/sf_bundle-g2-g1.crt") if err != nil { log.Fatalf("Failed to read client certificate authority: %v", err) } if !certpool.AppendCertsFromPEM(pem) { log.Fatalf("Can't parse client certificate authority") } tlsConfig := &tls.Config{ ClientCAs: certpool, Certificates: []tls.Certificate{cert}, } srv := &http.Server{ Addr: "myalcoholist.com:443", Handler: n, ReadTimeout: time.Duration(5) * time.Second, WriteTimeout: time.Duration(5) * time.Second, TLSConfig: tlsConfig, } err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")
これにより、完全な証明書チェーンがロードされ、それに応じて TLSConfig を設定します。
追加のヒント:
以上がGo で GoDaddy の SSL 証明書で「不完全な証明書チェーン」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。