Como fazer uma requisição HTTPS em Go com certificado autoassinado ou inválido?
Olá a todos! Sou novo em Go e estou trabalhando em um projeto onde preciso enviar requisições HTTPS para um servidor de desenvolvimento interno. O problema é que neste servidor é usado um certificado SSL autoassinado, e o Go por padrão rejeita essas conexões com o erro x509: certificate signed by unknown authority.
Meu código atual se parece com isso:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
resp, err := http.Get("https://internal-dev.example.com/api/data")
if err != nil {
fmt.Println("Erro:", err)
return
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
Eu entendo que para produção isso é uma má prática, mas para desenvolvimento local preciso ignorar temporariamente a verificação do certificado. Tentei pesquisar na documentação, mas há muitas estruturas complexas como http.Transport e tls.Config.