Go で SSL を使用して Google Cloud SQL に接続する
質問:
を試みるときGo と go-sql-driver を使用して Google App Engine から Google Cloud SQL に接続すると、x509 証明書エラーが発生し、次のメッセージが表示されます:
「x509: 証明書は projectName:instanceName に対して有効であり、projectName ではありません」
回答:
このエラーは通常、SSL を使用して Cloud SQL に接続するときに追加の構成が必要であることを示します。 project-id:instance-name は sql.Open() 接続文字列で指定する必要がありますが、mysql ドライバーにカスタム TLSConfig を登録するときに ServerName プロパティを設定することも必要です。
この問題が発生した場合は、TLS セットアップに RegisterTLSConfig への呼び出しに ServerName が含まれていることを確認します:
<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{ RootCAs: rootCertPool, Certificates: clientCert, ServerName: "projectName:instanceName", })</code>
その後、?tls=nameOfYourCustomTLSConfig を接続文字列に追加します:
<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>
次の手順に従います。を使用すると、SSL を使用して Google Cloud SQL への安全な接続を確立できます。
以上がGo で Google Cloud SQL に接続する際の SSL 接続エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。