https server踩坑,沒法接受https請求

能夠說是一個致命的bug,來自此次提交git

https://github.com/go-chassis/go-chassis/commit/ac9e3fc13e5c9efe3fbf66d5a33d06a7142128d4
github

爲了可以支持隨機端口,咱們使用bash

listener, err = tls.Listen("tcp", listenAddress, tlsConfig)
err = r.server.ServeTLS(l, "", "")
複製代碼

的方式來代替過去的tcp

r.server = &http.Server{Addr: config.Address, Handler: r.container, TLSConfig: r.opts.TLSConfig}
server.ListenAndServeTLS("", "")複製代碼


而這樣直接致使瞭如下錯誤spa

TLS handshake error tls:first record does not look like a tls hanshake3d

看字面的意思是我發的是一個http請求,但實際上我明明是用https://xxx來訪問的啊code


後來的修復方式是server

https://github.com/go-chassis/go-chassis/pull/563/commits/b267fa60f44812d3c22f1358a897d1bffd1baf4c
string


也就是直接進行Serve,不區分是不是TLSit

listener, err = tls.Listen("tcp", listenAddress, tlsConfig)
err = r.server.Serve(l, "", "")複製代碼
相關文章
相關標籤/搜索