>  기사  >  백엔드 개발  >  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을 지정하는 것 외에도 mysql 드라이버로 사용자 지정 TLSConfig를 등록할 때 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.