如何使用非标准证书文件在 Go Web 服务器上建立 HTTPS
提供的文档建议连接三个 .pem 文件。但是,如果您没有这些文件,请按照以下步骤使用您拥有的证书文件设置 HTTPS:
组合中级证书:
虽然 Go 通常是这样的需要一个串联的证书文件,其他平台仅存储根证书。为了确保兼容性,请连接中间证书:
cat website.com.ca-crt website.com.ca-bundle > website.com.full-cert.crt
在 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
以上是如何使用非标准证书文件在Go Web服务器上建立HTTPS?的详细内容。更多信息请关注PHP中文网其他相关文章!