为了账号安全,请及时绑定邮箱和手机立即绑定

在 golang net/http 中处理 TLSNextProto 的正确方法是什么?

在 golang net/http 中处理 TLSNextProto 的正确方法是什么?

Go
繁花不似锦 2021-06-03 15:07:29
使用 golang 的net/http包和 SPDY。有一点让我很困惑:该*tls.Conn的 TLSNextProto功能无法全部阅读。任何读取尝试都会收到“对等方重置连接”错误。运行以下程序,然后https://localhost:8080/使用启用了 SPDY 的 Chrome访问。我是否以错误的方式使用 TLS 连接对象?请帮忙。package mainimport (    "crypto/tls"    "log"    "net/http")func main() {    server := &http.Server{        Addr: ":8080",        TLSConfig: &tls.Config{            NextProtos: []string{"spdy/3"},        },        TLSNextProto: map[string]func(*http.Server, *tls.Conn, http.Handler){            "spdy/3": func(s *http.Server, conn *tls.Conn, h http.Handler) {                buf := make([]byte, 1)                if n, err := conn.Read(buf); err != nil {                    log.Panicf("%v|%v\n", n, err)                }            },        },    }    err := server.ListenAndServeTLS("/path/to/host.cert", "/path/to/host.key")    if err != nil {        log.Fatal(err)    }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 319 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信