[go] 서버에서 SSL을 사용할 수 없습니다.

go를 사용하여 postgres 데이터베이스와 통신을 시도하고 다음과 같은 명령문을 준비합니다.

var stmt *sql.Stmt
var err error

stmt, err = db.Prepare(selectStatement)
if err != nil {
    fmt.Printf("db.Prepare error: %v\n",err)
    return err
}

다음 오류가 발생합니다.

db.Prepare error: pq: SSL is not enabled on the server

어떤 해결책?

필요한 경우 더 많은 정보를 추가 할 수 있습니다.



답변

다음과 같이 SSL 암호화없이 DB 연결을 설정해야합니다.

db, err := sql.Open("postgres", "user=test password=test dbname=test sslmode=disable") 


답변

데이터 소스 이름이 URL 인 경우 다음과 같이합니다.

db, err := sql.Open("postgres", "postgres://username:password@localhost/db_name?sslmode=disable")

sslmode 쿼리 매개 변수처럼 db url에 추가됩니다.


답변

SSL없이 연결을 설정하려면

postgres://username:password@host:5432/database?sslmode=disable


답변

주의 사항 :

를 표시 sslmode=disable했지만 다른 매개 변수가 비어 있는 경우에도 발생합니다 . 예를 들면dbname=

예를 들어, 연결 문자열 :

user=test password=test dbname=sslmode=disable또한이 오류를 발행 DBNAME 비어 있기 때문에.


답변

이것이 내가 작동하는 방법입니다.

db, err := sql.Open("postgres", "postgres://{user}:{password}@{hostname}:{port}/{database-name}?sslmode=disable")


답변