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 就可以安全通讯了.

推荐阅读更多精彩内容

  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    123321123阅读 1,953评论 0 11
  • 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。 (1)窃听风险...
    XLsn0w阅读 6,521评论 2 43
  • 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数...
    布丁大人阅读 1,873评论 2 14
  • 本文摘自 腾讯bugly 的文章《全站 HTTPS 来了》,内容有修改。 大家在使用百度、谷歌或淘宝的时候,是否注...
    bnotes阅读 2,249评论 1 6
  • 我得高兴起来 像七八岁的小孩 赶紧逃出忧郁的牢笼 仰躺在爱我的大地 我要去亲吻小溪的嘴唇 紧紧抱住暖暖的阳光的身体...
    735阅读 28评论 0 2