可以说是一个致命的bug,来自这次提交
为了能够支持随机端口,我们使用
listener, err = tls.Listen("tcp", listenAddress, tlsConfig)
err = r.server.ServeTLS(l, "", "")
的方式来代替过去的
r.server = &http.Server{Addr: config.Address, Handler: r.container, TLSConfig: r.opts.TLSConfig}
server.ListenAndServeTLS("", "")
而这样直接导致了以下错误
TLS handshake error tls:first record does not look like a tls hanshake
看字面的意思是我发的是一个http请求,但实际上我明明是用https://xxx来访问的啊
后来的修复方式是
也就是直接进行Serve,不区分是否是TLS
listener, err = tls.Listen("tcp", listenAddress, tlsConfig)
err = r.server.Serve(l, "", "")