ホームページ  >  記事  >  バックエンド開発  >  SSL と Golang を使用して Cloud SQL に接続する際の「x509: 証明書は ... に対して有効です」エラーを修正する方法

SSL と Golang を使用して Cloud SQL に接続する際の「x509: 証明書は ... に対して有効です」エラーを修正する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 19:47:02818ブラウズ

How to Fix

Google App Engine から SSL と Golang を使用して Google Cloud SQL に接続する

Golang と go-sql を使用して Google Cloud SQL に接続するSSL の使用時にドライバーでエラーが発生する可能性があります。発生する可能性のある具体的なエラーの 1 つは次のとおりです。

x509: certificate is valid for projectName:instanceName, not projectName

この問題を解決するには、カスタム TLSConfig を MySQL ドライバーに登録するときに、project-id:instance を指定することに加えて、ServerName プロパティを設定することが重要です。 -name inside sql.Open().

この修正を示す例は次のとおりです:

<code class="go">import "database/sql"
import _ "github.com/go-sql-driver/mysql"

// Create a custom TLS configuration.
tlsConfig := &tls.Config{
    RootCAs:      rootCertPool,
    Certificates: clientCert,
    ServerName:   "projectName:instanceName",
}

// Register the TLS configuration with the MySQL driver.
mysql.RegisterTLSConfig("custom", tlsConfig)

// Establish the database connection with SSL enabled.
db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>

接続文字列に ?tls=nameOfYourCustomTLSConfig を追加することで、カスタム TLS 構成を指定できます使用されること。これにより、SSL による接続が正しく確立されます。

以上がSSL と Golang を使用して Cloud SQL に接続する際の「x509: 証明書は ... に対して有効です」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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