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

Mary-Kate Olsen
リリース: 2024-10-23 19:47:02
オリジナル
817 人が閲覧しました

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!