gpt4 book ai didi

ssl - 具有多个证书的 http.ListenAndServeTLS

转载 作者:IT王子 更新时间:2023-10-29 00:35:39 31 4
gpt4 key购买 nike

如何使用多个域进行 ListenAndServeTLS?我看到该函数接受证书和 key 文件,但我相信 key 文件可能只包含一个私钥。我有几个私钥,用于不同的证书链。

最佳答案

http.ListenAndServeTLS 旨在提供最低限度的配置。如果您想添加其他选项,您可以创建一个带有自定义 tls.Confighttp.Server。然后,您可以在 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("", "")

关于ssl - 具有多个证书的 http.ListenAndServeTLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32175300/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com