在 Go Web 服务器中串联 HTTPS 的 PEM 证书
为 Go Web 服务器设置 HTTPS 时,经常会遇到需要串联的情况多个 PEM 证书文件。此过程对于创建包含主证书和中间证书的完整证书链至关重要。
获取中间证书
通常,您将获得一个捆绑包购买 SSL 证书时的 PEM 文件,包括:
连接证书
根据 https://www.kaihag.com/https-and-go/ 上的文档,您需要连接以下 PEM 文件:
为此,您可以使用以下命令(假设文件位于当前目录中):
cat website.com.ca-bundle website.com.crt > full-cert.crt
这将创建一个名为 full-cert.crt 的组合证书文件,其中包含中间证书和您的主证书
在 Go 中设置 HTTPS
一旦有了串联的证书文件,就可以使用 http.ListenAndServeTLS 函数在 Go 中启动 HTTPS 服务器。以下是示例代码片段:
package main import ( "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello, HTTPS!")) } func main() { log.Printf("About to listen on 10443. Go to https://127.0.0.1:10443/") err := http.ListenAndServeTLS(":10443", "full-cert.crt", "private-key.pem", nil) log.Fatal(err) }
将 full-cert.crt 替换为串联证书文件的名称,将 private-key.pem 替换为私钥文件的名称。运行程序并访问 https://127.0.0.1:10443/ 确认 HTTPS 正常工作。
以上是如何在 Go Web 服务器中串联 HTTPS 的 PEM 证书?的详细内容。更多信息请关注PHP中文网其他相关文章!