Golang 安装SSL证书一、登录会员中心,下载Nginx格式的SSL证书。
- yourdomain.com.crt
- yourdomain.com.key
复制代码
二、Golang使用SSL证书
如果使用golang做前端web服务,可以参考下面示例代码. - package main
-
- import (
- "crypto/tls"
- "log"
- "net/http"
- )
-
- func main() {
- server := http.NewServeMux()
- server.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
- w.Write([]byte("Hello World!! \n"))
- })
- cfg := &tls.Config{
- MinVersion: tls.VersionTLS12,
- CurvePreferences: []tls.CurveID{tls.CurveP521, tls.CurveP384, tls.CurveP256},
- PreferServerCipherSuites: true,
- CipherSuites: []uint16{
- tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
- tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
- tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
- tls.TLS_RSA_WITH_AES_256_CBC_SHA,
- },
- }
- srv := &http.Server{
- Addr: "127.0.0.1:443",
- Handler: server,
- TLSConfig: cfg,
- TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler), 0),
- }
- srv.ListenAndServeTLS("yourdomain.com.crt", "yourdomain.com.key")
- }
复制代码
|