如何使用非标准证书文件在 Go Web 服务器上建立 HTTPS
提供的文档建议连接三个 .pem 文件。但是,如果您没有这些文件,以下是如何使用您拥有的证书文件设置 HTTPS:
组合中间证书:
虽然 Go 通常需要一个串联的证书文件,其他平台仅存储根证书。为了确保兼容性,请连接中间证书:
cat website.com.ca-crt website.com.ca-bundle > website.com.full-cert.crt
Setting Go中开启HTTPS:
使用net/http/ListenAndServeTLS配置HTTPS:
import ( "fmt" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q", r.URL.Path[1:]) } func main() { http.HandleFunc("/", handler) log.Printf("Listening on port 10443. Visit https://127.0.0.1:10443/") err := http.ListenAndServeTLS(":10443", "website.com.full-cert.crt", "private-key.pem", nil) log.Fatal(err) }
附加说明:
需要中间证书才能在客户端和服务器之间建立信任。使用完整的证书文件可确保与所有浏览器和设备的兼容性。
有关组合证书的更多信息,请参阅此资源:https://kb.wisc.edu/page.php?id=18923
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3