Golang:"Err TLS Handshake failed: tls: server selected unsupported protocol version 301" 尝试连接到 sql 服务器(不同的主机)

Golang : "Err TLS Handshake failed: tls: server selected unsupported protocol version 301" when trying to connect to sql server (diferent host)

这是我尝试连接 sql 服务器时的代码:

connString := fmt.Sprintf("server=%s;user id=%s;password=%s¡port=%s;databases=%s", server, user, password, port, database)

// if there is an error opening the connection, handle it
if err != nil {
  // simply print the error to the console 
  fmt.Println("Err", err.Error())
}

err.Error()) // returna nit on error

defer db.Close()

results, err := db.query("SELECT employee_id, display_name from `person_tbl`")

if err != nil {
  fmt.Println("Err", err.Error())
}
fmt.Print (results)

当我尝试连接到 sql 服务器 时,我收到错误消息 "Err TLS Handshake failed: tls: server selected unsupported protocol version 301" 我已尝试在服务器上将 TLS 更改为 1.2 版,但仍然收到相同的错误消息。我需要重新设置我的 TLS 还是我需要向我的 Go-lang 代码添加代码?

“不支持的协议版本”301 表示服务器选择的不安全 TLS 版本 (1.0)。 (和 301:永久重定向)

确保您要连接的 Sql-server 支持最新的 TLS 版本(例如 TLS 1.2 for a Microsoft SQL Server)。

I have tried changing TLS to version 1.2 on the server

Double-check 这个 change was effective:

  • A) TLS1.0 --> curl -v -s --tlsv1.0 https://<instance-name> -o /dev/null/ 2>&1
  • B) TLS1.1 --> curl -v -s --tlsv1.1 https://<instance-name> -o /dev/null/ 2>&1
  • C) TLS1.2 --> curl -v -s https://<instance-name> -o /dev/null/ 2>&1