gpt4 book ai didi

go - 如何在 golang 网络服务器上设置 HTTPS?

转载 作者:IT王子 更新时间:2023-10-29 01:48:52 29 4
gpt4 key购买 nike

我正在阅读 https://www.kaihag.com/https-and-go/并从 Comodo 购买了 SSL 证书,他们通过电子邮件将 .zip 文件发送给我。到目前为止我所有的文件都是这样的

csr.pem
private-key.pem
website.com.crt
website.com.ca-bundle
website.com.zip

上面的网站要我连接 3 个我没有的 .pem 文件。顺便说一句,.pem 文件需要连接的原因是什么?使用上述未修改的文件,如何在 golang webserver 上设置 https?

最佳答案

使用https://golang.org/pkg/net/http/#ListenAndServeTLS

http.HandleFunc("/", handler)
log.Printf("About to listen on 10443. Go to https://127.0.0.1:10443/")
err := http.ListenAndServeTLS(":10443", "full-cert.crt", "private-key.key", nil)
log.Fatal(err)

对于 Go,您需要一个证书文件(包含一个或多个证书,从您的证书开始)和一个私钥文件(包含一个私钥)。

这不是一个真正的围棋题,但是中间证书是必需的,因为计算机只存储根证书。通过连接它们,您将它们全部放在一个文件中,以便浏览器获得所有证书 - 这是必需的步骤,否则您的服务器将在某些设备上失败。您的证书提供商将提供执行此操作的说明。

https://kb.wisc.edu/page.php?id=18923

要组合证书,您可以只使用 cat(首先确保它们在文件末尾有一个换行符),例如:

cat example.com.ca-crt example.com.ca-bundle > example.com.crt

关于go - 如何在 golang 网络服务器上设置 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46992030/

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