Golang https 服务器以字节数组形式传递 certFile 和 kyeFile

标签 go https

func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error

以上是我在 Golang 中调用以启动 https 服务器的函数。它工作没有任何问题。但是,由于我有更多的部署,我不想将我的 key 文件放在各处。所以我想让程序从一个集中的地方下载 key 文件和证书文件。如果有一个类似的函数接收 []byte 而不是 string,我将很容易做到这一点。但我似乎没有在文档中看到这样的功能。

最佳答案

寻找 at the source of ListenAndServeTLS好像没有选项,总是调用tls.LoadX509KeyPair . 那真不幸;可能值得提交功能请求。

与此同时,ListenAndServeTLS 方法并不大,而且(tcpKeepAliveListener 除外)它不使用任何未导出的内容,因此很容易复制将该方法的主体添加到您自己的函数中,并将 Load509KeyPair 替换为 tls.X509KeyPair ,它确实采用 PEM 编码数据的 []byte 而不是文件名。 (或者可能采用 tls.Certificate 参数。)

例如类似 https://play.golang.org/p/ui_8dS8ouU 的东西

关于Golang https 服务器以字节数组形式传递 certFile 和 kyeFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30815244/

相关文章:

Azure 网站 - 共享计划和 SSL(又名 HTTPS)

ruby-on-rails - 如何从托管在 Heroku 上的 Rails 应用程序通过 https 访问 Google Drive 文档内容?

go - 为什么 Go +build 标签会引入作用域问题?

go-routines 和 channels in go

floating-point - 常量截断为整数

java - 将 Tomcat 配置为使用 cacerts 以外的信任库

https - 自动化 https 请求的最简单方法

go - Golang RPC调用解决意外的EOF

go - 如何设置用于 HTTP 请求的 IP?

java - 以编程方式将 PEM 证书导入 Java KeyStore