【发布时间】:2017-03-09 15:20:26
【问题描述】:
无法连接到 websocket 服务器..
我使用与nginx 完全相同的private.key 和public.crt
证书是自签名的,但可以通过 nginx 通过 HTTPS 与网站的其余部分正常工作
当http.ListenAndServe()的行被取消注释时,websocket服务器在使用ws://时工作
package main
import (
"flag"
"fmt"
"log"
"net/http"
)
const PORT uint = 8000
func main(){
host := parse_flags()
hub := newHub()
go hub.run()
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
serve(hub, w, r)
})
server_host := fmt.Sprintf("%s:%d", host, PORT)
log.Println("Server listening on:", server_host)
err := http.ListenAndServeTLS(server_host, fmt.Sprintf("/var/ini/ssl/%s/public.crt", host), fmt.Sprintf("/var/ini/ssl/%s/private.key", host), nil)
//err := http.ListenAndServe(server_host, nil)
if err != nil {
log.Fatal("ListenAndServe:", err)
}
}
【问题讨论】:
-
你能分享你的客户端吗?
-
new WebSocket('wss://domain:8000/'); -
收到此消息时,我遇到了非常相似的错误。我的电脑上有三个浏览器,只有 Chrome (57) 会抛出这个错误。不知道为什么。