首頁  >  文章  >  後端開發  >  如何修復使用 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

使用SSL 和Golang 從Google App Engine 連接到Google Cloud SQL

使用Golang 和go-sql 連接到Google SQL-使用SSL 時驅動程式可能會遇到錯誤。可能出現的一個具體錯誤是:

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

要解決此問題,除了指定project-id:instance 之外,在使用MySQL 驅動程式註冊自訂TLSConfig 時設定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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn