MST
星途 面试题库

面试题:Go语言中如何在数据库连接时设置SSL模式以提高安全性

在Go语言中使用数据库连接时,比如连接PostgreSQL数据库,如何通过代码设置SSL模式来确保数据传输安全?请给出简单示例代码。
17.9万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试

在Go语言中连接PostgreSQL数据库并设置SSL模式,可以使用pq库。以下是示例代码:

package main

import (
    "database/sql"
    "fmt"

    _ "github.com/lib/pq"
)

func main() {
    // 构建连接字符串
    connStr := "user=your_username password=your_password dbname=your_dbname sslmode=require"
    db, err := sql.Open("postgres", connStr)
    if err != nil {
        panic(err)
    }
    defer db.Close()

    // 测试连接
    err = db.Ping()
    if err != nil {
        fmt.Println("连接数据库失败:", err)
        return
    }
    fmt.Println("成功连接到数据库")
}

在上述代码中,sslmode参数设置为require,表示必须使用SSL连接。常见的sslmode值有:

  • disable:不使用SSL。
  • require:必须使用SSL,若服务器不支持则连接失败。
  • verify-ca:使用SSL并验证服务器证书是否由可信CA颁发。
  • verify-full:使用SSL并验证服务器证书是否由可信CA颁发,同时验证证书中的主机名是否与连接的主机名一致。