首先我用https测试,但得到400:upgrade响应
然后我使用websocket进行测试,并在我使用NewClient()或Dialer.Dial(url)时收到“无法连接到控制台:x509:证书对127.0.0.1有效,对xx.xx.xx.xx无效” ,req.Header)创建客户端conn
这与不记名令牌有关吗?
我将其放在请求的标题中
wsurl := "wss://xx.xx.xx.xx:8080/r/projects/1a92/kubernetes:6443/api/v1/namespaces/NM/pods/testPod-546cdd8d79-7h8nv/exec?command=ls&container=testPod&stderr=true&stdin=true&stdout=true&tty=false"
u, err := neturl.Parse(wsurl)
rawConn, err := net.Dial("tcp", u.Host)
wsHeaders := http.Header{
"Authorization": {"Bearer "+env_bearer_token},
"Origin": {"https://xx.xx.xx.xx:8080/r/projects/1a92/kubernetes:6443"},
"Sec-WebSocket-Extensions": {"permessage-deflate; client_max_window_bits, x-webkit-deflate-frame"},
}
wsConn, resp, err := websocket.NewClient(rawConn, u, wsHeaders, 1024, 1024)
有什么问题吗?
答案 0 :(得分:0)
这与不记名令牌有关吗?
否,与错误的确切含义有关:对于xx-ed出的IP,X.509证书没有SAN
条目。有几种方法可以解决这种情况:
Dialer
,为tls.Config
提供InsecureSkipVerify: true
,并抓住机会