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 サイトの他の関連記事を参照してください。