HTTPS配置步驟:
- 首先在阿里雲搞定ICP域名備案
- 添加一個子域名
- 給子域名申請免費 SSL 證書, 然後下載證書對應的 pem 和 key 文件.
用 GIN 框架添加一個 github.com/unrolled/secure 中間件就可以了.
下面是一個簡單的示例代碼:
package main
import (
"github.com/gin-gonic/gin"
"github.com/unrolled/secure"
)
func main() {
router := gin.Default()
router.Use(TlsHandler())
router.RunTLS(":8080", "ssl.pem", "ssl.key")
}
func TlsHandler() gin.HandlerFunc {
return func(c *gin.Context) {
secureMiddleware := secure.New(secure.Options{
SSLRedirect: true,
SSLHost: "localhost:8080",
})
err := secureMiddleware.Process(c.Writer, c.Request)
// If there was an error, do not continue.
if err != nil {
return
}
c.Next()
}
}
上面代碼直接在子域名前添加 HTTPS 就可以安全通訊了.