Golang/Gin框架添加對HTTPS的支持

HTTPS配置步驟:

  1. 首先在阿里雲搞定ICP域名備案
  2. 添加一個子域名
  3. 給子域名申請免費 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 就可以安全通訊了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章