我如何使用多个域监听和服务?我看到该函数接受一个证书和密钥文件,但我相信密钥文件可能只包含一个私钥.我有一些私钥,用于不同的证书链.
Jim*_*imB 10
http.ListenAndServeTLS意味着提供一个简单的最小配置.如果要添加其他选项,可以http.Server使用自定义创建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.Certificates
cfg.BuildNameToCertificate()
server := http.Server{
Addr: "127.0.0.1:443",
Handler: myHandler,
TLSConfig: cfg,
}
server.ListenAndServeTLS("", "")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1698 次 |
| 最近记录: |