http.ListenAndServeTLS旨在提供一种基本的最小配置。如果您想添加其他选项,则可以
http.Server使用custom
创建一个
tls.Config。然后,您可以在中手动映射名称
tls.Config.NameToCertificate,也可以调用
BuildNameToCertificate()以编程方式构建地图。
Server.ListenAndServeTLS但是,您仍然可以使用,因为它将加载配置文件中的证书以及通过args方法传入的证书。
cfg := &tls.Config{}cert, err := tls.LoadX509KeyPair("cert_one.pem", "key_one.pem")if err != nil { log.Fatal(err)}cfg.Certificates = append(cfg.Certificates, cert)// keep adding remaining certs to cfg.Certificatescfg.BuildNameToCertificate()server := http.Server{ Addr: "127.0.0.1:443", Handler: myHandler, TLSConfig: cfg,}server.ListenAndServeTLS("", "")


