登录
首页 >  Golang >  Go问答

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

来源:Golang技术栈

时间:2023-03-21 17:12:38 382浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《如何在 golang 网络服务器上设置 HTTPS?》,这篇文章主要会讲到golang等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在阅读[https://www.kaihag.com/https-and-go/](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 网络服务器上设置 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

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何在 golang 网络服务器上设置 HTTPS?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表