ホームページ  >  記事  >  バックエンド開発  >  App Engine から Go を使用して SSL で Cloud SQL に接続し、証明書エラーを解決する方法

App Engine から Go を使用して SSL で Cloud SQL に接続し、証明書エラーを解決する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-23 17:48:21324ブラウズ

How to Connect to Cloud SQL with SSL using Go from App Engine and Resolve Certificate Errors?

App Engine から Go を使用して SSL で Cloud SQL に接続する

Google のドキュメントでは、次のコードを使用して Go と Cloud SQL に接続することを提案しています。 go-sql-driver:

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname")

ただし、これにより、指定されたプロジェクト名とインスタンス名の無効な証明書を示す x509 証明書エラーが発生する可能性があります。この問題は、SSL 接続を使用する場合に発生します。これを解決するには、sql.Open() で project-id:instance-name を指定することに加えて、カスタム TLSConfig を mysql ドライバーに登録するときに ServerName プロパティを設定する必要があります。

これはその方法の例です。 TLS 構成をセットアップするには:

mysql.RegisterTLSConfig("custom", &tls.Config{
    RootCAs:      rootCertPool,
    Certificates: clientCert,
    ServerName:   "projectName:instanceName",
})

次に、?tls=nameOfYourCustomTLSConfig を接続文字列に追加します:

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

次の手順に従うと、次を使用して Cloud SQL に正常に接続できます。 Google App Engine の SSL。

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

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