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

HTTPS配置步驟:

  1. 首先在阿里云搞定ICP域名備案
  2. 添加一個子域名
  3. 給子域名申請免費 SSL 證書, 然后下載證書對應(yīng)的 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 就可以安全通訊了.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb閱讀 3,576評論 0 13
  • 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文傳播,帶來了三大風(fēng)險。 (1)竊聽風(fēng)險...
    XLsn0w閱讀 10,654評論 2 44
  • 前言 在說HTTPS之前先說說什么是HTTP,HTTP就是我們平時瀏覽網(wǎng)頁時候使用的一種協(xié)議。HTTP協(xié)議傳輸?shù)臄?shù)...
    布丁大人閱讀 2,660評論 2 14
  • 本文摘自 騰訊bugly 的文章《全站 HTTPS 來了》,內(nèi)容有修改。 大家在使用百度、谷歌或淘寶的時候,是否注...
    bnotes閱讀 3,694評論 1 9
  • 我得高興起來 像七八歲的小孩 趕緊逃出憂郁的牢籠 仰躺在愛我的大地 我要去親吻小溪的嘴唇 緊緊抱住暖暖的陽光的身體...
    735閱讀 232評論 0 2