此错误表示在与 AKS 集群建立连接时出现了证书验证问题。为了解决此问题,有以下两种方法:
import (
"crypto/tls"
"net/http"
)
httpClient := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
},
}
response, err := httpClient.Get("https://your-aks-cluster.com")
if err != nil {
// 处理连接错误
}
首先,使用以下命令导出证书文件:
openssl s_client -showcerts -connect your-aks-cluster.com:443 /dev/null|openssl x509 -outform PEM >mycertfile.pem
然后,将证书颁发机构添加到本地信任列表中:
import (
"crypto/tls"
"crypto/x509"
"io/ioutil"
"net/http"
)
certPath := "/path/to/mycertfile.pem"
certBytes, err := ioutil.ReadFile(certPath)
if err != nil {
// 处理证书读取错误
}
certPool := x509.NewCertPool()
certPool.AppendCertsFromPEM(certBytes)
httpClient := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
RootCAs: certPool,
},
},
}
response, err := httpClient.Get("https://your-aks-cluster.com")
if err != nil {
// 处理连接错误
}
使用这两种方法之一应该可以解决 AKS 连接问题。