Golang 安装SSL证书

Golang 安装SSL证书一、登录会员中心,下载Nginx格式的SSL证书。

  1. yourdomain.com.crt
  2. yourdomain.com.key


二、Golang使用SSL证书

如果使用golang做前端web服务,可以参考下面示例代码.

  1. package main
  2. import (
  3.         "crypto/tls"
  4.         "log"
  5.         "net/http"
  6. )
  7. func main() {
  8.         server := http.NewServeMux()
  9.         server.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
  10.                 w.Write([]byte("Hello World!! \n"))
  11.         })
  12.         cfg := &tls.Config{
  13.                 MinVersion:               tls.VersionTLS12,
  14.                 CurvePreferences:         []tls.CurveID{tls.CurveP521, tls.CurveP384, tls.CurveP256},
  15.                 PreferServerCipherSuites: true,
  16.                 CipherSuites: []uint16{
  17.                         tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
  18.                         tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
  19.                         tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
  20.                         tls.TLS_RSA_WITH_AES_256_CBC_SHA,
  21.                 },
  22.         }
  23.         srv := &http.Server{
  24.                 Addr:         "127.0.0.1:443",
  25.                 Handler:      server,
  26.                 TLSConfig:    cfg,
  27.                 TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler), 0),
  28.         }
  29.         srv.ListenAndServeTLS("yourdomain.com.crt", "yourdomain.com.key")
  30. }
川公网安备 51019002001185号