ホームページ >バックエンド開発 >Golang >Google Cloud SQL に接続するときに Go で SSL 証明書エラーを解決する方法は?

Google Cloud SQL に接続するときに Go で SSL 証明書エラーを解決する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-23 18:14:41843ブラウズ

How to Resolve SSL Certificate Errors in Go When Connecting to Google Cloud SQL?

データベース接続のトラブルシューティング: Google App Engine および Google Cloud SQL を使用した Golang の SSL 問題の解決

Google のドキュメントによると、Go と Google Cloud SQL の間のデータベース接続を確立します。 go-sql-driver と SSL の使用は簡単です。ただし、ユーザーは、複雑な x509 証明書エラーに遭遇する可能性があります。

根本原因と解決策

エラー メッセージは、ユーザーが SSL で接続していることを示唆しています。この問題を修正するには、mysql ドライバーで行われた RegisterTLSConfig 呼び出し内で ServerName プロパティが設定されていることを確認してください。この構成は、sql.Open() 関数内の project-id:instance-name の指定と組み合わせて実行する必要があります。

実装に関する推奨事項

この問題に対処するには、TLS 構成を次のように変更します。以下に示すように、カスタム ServerName 設定を含めます:

<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{
            RootCAs:      rootCertPool,
            Certificates: clientCert,
            ServerName:   "projectName:instanceName",
        })</code>

その後、次の文字列をデータベース接続文字列に追加します:

<code class="go">?tls=nameOfYourCustomTLSConfig</code>

たとえば:

<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>

以上がGoogle Cloud SQL に接続するときに Go で SSL 証明書エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。