k.zhang hace 4 años
padre
commit
3e31b6a6cd
Se han modificado 5 ficheros con 117 adiciones y 1 borrados
  1. 1 0
      go.mod
  2. 3 0
      go.sum
  3. 23 1
      routers/router.go
  4. 27 0
      shisanmiao.com.key
  5. 63 0
      shisanmiao.com.pem

+ 1 - 0
go.mod

@@ -16,6 +16,7 @@ require (
 	github.com/olivere/elastic/v7 v7.0.4 // indirect
 	github.com/sirupsen/logrus v1.4.2 // indirect
 	github.com/ugorji/go v1.2.5 // indirect
+	github.com/unrolled/secure v1.0.9 // indirect
 	golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
 	golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 // indirect
 	golang.org/x/text v0.3.6 // indirect

+ 3 - 0
go.sum

@@ -117,6 +117,9 @@ github.com/ugorji/go v1.2.5/go.mod h1:gat2tIT8KJG8TVI8yv77nEO/KYT6dV7JE1gfUa8Xul
 github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
 github.com/ugorji/go/codec v1.2.5 h1:8WobZKAk18Msm2CothY2jnztY56YVY8kF1oQrj21iis=
 github.com/ugorji/go/codec v1.2.5/go.mod h1:QPxoTbPKSEAlAHPYt02++xp/en9B/wUdwFCz+hj5caA=
+github.com/unrolled/secure v1.0.9 h1:BWRuEb1vDrBFFDdbCnKkof3gZ35I/bnHGyt0LB0TNyQ=
+github.com/unrolled/secure v1.0.9/go.mod h1:fO+mEan+FLB0CdEnHf6Q4ZZVNqG+5fuLFnP8p0BXDPI=
+github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
 go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=

+ 23 - 1
routers/router.go

@@ -3,11 +3,15 @@ package routers
 import (
 	"duoduo/apis/pdd"
 	"github.com/gin-gonic/gin"
+	"github.com/unrolled/secure"
 )
 
 func InitRouter() {
 
 	r := gin.New()
+
+	r.Use(TlsHandler())
+
 	r.GET("/", func(c *gin.Context) { c.File("./root.txt") })
 	r.GET("/root.txt", func(c *gin.Context) { c.File("./root.txt") })
 	r2 := r.Group("/")
@@ -15,6 +19,24 @@ func InitRouter() {
 		pdd.InitPddDdkRouter(r2)
 		pdd.InitSetRouter(r2)
 	}
-	_ = r.Run(":8081")
+	r.RunTLS(":8081", "./shisanmiao.com.pem", "./shisanmiao.com.key")
+	//_ = r.Run(":8081")
+
+}
 
+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()
+	}
 }

+ 27 - 0
shisanmiao.com.key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAuqUgV0VmDKb9HxS7I4GjiAae+PGae0XASIEges63/KsE0jnl
+QooUc4sXr3kPuUrsQ1hD/gQoDqshy3qSqzz0IA0s2j1rAGuM3SOm1tmGvjhlmMMZ
++Uj9MrRA59zAOgDqhmjAYwamKv/eQHkgwDwgWk1K5HKsDtp5G5izrdURdlhvdUe+
+QKxuBqSayEPfe5mzfn5+MdxkNraGJu+finqwLmm0jT+Znn/8ObWnvPbv5f03YW83
+6VMzbv4EfiC5/xr8u6a4svdiFp93CKLB2BQef7OB1BgPu/JhDyJbhgBpamS7OzrA
+BI8jkd+2WzVHido25GVVra05jx3j3874juWecQIDAQABAoIBAAClOciHeUf9q1Yo
+TZHcvManhDT26+p1diniBW1bSeRWKI78C4SIgvPX1SoCjIj+3vSIKXsHQ2aylYw1
+NSzhqfPy67bo+7XdiVgJ66WmTKqbehF2SkCUDakXWbqbhzAkKOt0UQb+osQ3DIsT
+SCdWBeQeDI5f7aOjAoRziZqGKDhtKhk0WNJYF8pqcmoAUWKVmRIQaHatep/Hq0Sz
+vIXwHdAy2bdUKFfbFxAEHEpm5nXMvRE43VIc4MUgMv6mfvpe8LBgDCaREN0NOKYI
+Cylzr/UGXPMnMTCyjC/azAjAVIVFyl51B8LXiA7p47Os8KFh1Qs08uK/8Cam/F+M
+JZEEwkECgYEA4ylSE/M5urZ3Qzuh1T+BipvmoFMDnF1vK7/JogqsTrH4+/jRE3TQ
+EE+BKiseC15PL9OCqdro4udI3Dnlr0L6QMaY6zuIh2elDVnQ5w93DMEB3MeqmuD5
+sVo7dtUAiD+zkw0Xw84t6zTblLsBB+gTu26tQXjlCl2p51tQ+lgOVCECgYEA0lcI
++v7lEDbqdof+X6GjWftT6sOo2sJ/EtFTxIn0yVZpwdaEEzV7fIcG0W4McjZnuD44
+wXrGgss8t3l5cxe4LUTZPwFs9NB9FNEygEco9mTzeUHskw5iA0SF3yFEeq3M0Fre
+0f769g9p8vSfyBfc4Dv5xlIRlJ2ZzMDne9a9AFECgYEApLYxbYXPNjNYBsgWcCm8
+JGUmtNl8pMSa9335FiXnCqjBgPLJpvHsa+c6IPlir5uSj3suIzs34k8R5Z2VjZ9j
+FdTqzKY+OPBOHYAimWf9SqIoV43vhp3ab16d/2wzFpgZ/WZg9PlrEkEhdpaiCLme
+lSmLNw4SBZIkwDzWWq++tAECgYEAj379C271iphMYEzqxwcYz/xcBZ8yBPwHgSj5
+gu2y5+BiCfF07T3hXtUnW50+NHTVUaZxRd2iq/xHEcx3hIM8DPYZV5h7YpERpDAL
+yePCGEZKrADDipeXWi9XPSAO/bqwLbywoobXYyKk3zDwCKvu7bM89YVrpP3XvQ4l
+XiDjk+ECgYBeCMSS4qVjb/sToblWxUQulmQm1QuAjR5vE44qNwD3YsF8jUkrm4LZ
+4UNxIYQgNDixeSL6npA8q1LNgZsDcbpwKFYV/zhHRI4njqXQfIchffyujR9t+ZBK
+Jb3DUouD2Dz10dy2lIDHc7kcpwGOT2G3+kF/IWu3KVfXrCx/8Cqv9g==
+-----END RSA PRIVATE KEY-----

+ 63 - 0
shisanmiao.com.pem

@@ -0,0 +1,63 @@
+-----BEGIN CERTIFICATE-----
+MIIGGzCCBQOgAwIBAgIQBZEc+bPcm9TUAGu4bAnwKDANBgkqhkiG9w0BAQsFADBy
+MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg
+SW5jLjEdMBsGA1UECxMURG9tYWluIFZhbGlkYXRlZCBTU0wxHTAbBgNVBAMTFFRy
+dXN0QXNpYSBUTFMgUlNBIENBMB4XDTIxMDYyMTAwMDAwMFoXDTIyMDYyMDIzNTk1
+OVowGTEXMBUGA1UEAxMOc2hpc2FubWlhby5jb20wggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQC6pSBXRWYMpv0fFLsjgaOIBp748Zp7RcBIgSB6zrf8qwTS
+OeVCihRzixeveQ+5SuxDWEP+BCgOqyHLepKrPPQgDSzaPWsAa4zdI6bW2Ya+OGWY
+wxn5SP0ytEDn3MA6AOqGaMBjBqYq/95AeSDAPCBaTUrkcqwO2nkbmLOt1RF2WG91
+R75ArG4GpJrIQ997mbN+fn4x3GQ2toYm75+KerAuabSNP5mef/w5tae89u/l/Tdh
+bzfpUzNu/gR+ILn/Gvy7priy92IWn3cIosHYFB5/s4HUGA+78mEPIluGAGlqZLs7
+OsAEjyOR37ZbNUeJ2jbkZVWtrTmPHePfzviO5Z5xAgMBAAGjggMEMIIDADAfBgNV
+HSMEGDAWgBR/05nzoEcOMQBWViKOt8ye3coBijAdBgNVHQ4EFgQUMRfYrvOaMLe0
+y8etLbKEihwX8iwwLQYDVR0RBCYwJIIOc2hpc2FubWlhby5jb22CEnd3dy5zaGlz
+YW5taWFvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
+CCsGAQUFBwMCMD4GA1UdIAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0
+dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzCBkgYIKwYBBQUHAQEEgYUwgYIwNAYI
+KwYBBQUHMAGGKGh0dHA6Ly9zdGF0dXNlLmRpZ2l0YWxjZXJ0dmFsaWRhdGlvbi5j
+b20wSgYIKwYBBQUHMAKGPmh0dHA6Ly9jYWNlcnRzLmRpZ2l0YWxjZXJ0dmFsaWRh
+dGlvbi5jb20vVHJ1c3RBc2lhVExTUlNBQ0EuY3J0MAkGA1UdEwQCMAAwggF+Bgor
+BgEEAdZ5AgQCBIIBbgSCAWoBaAB3ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4+U1d
+JlwlXceEAAABeiw+LAoAAAQDAEgwRgIhALVkXNWTFw8WR/UFYd1E06LY2iGdH8+3
+IeL0FTNEDwBiAiEA5vTXjSR8nauzGonCz12aYY8DFBdbtTi2jDW2mb/IKc8AdgAi
+RUUHWVUkVpY/oS/x922G4CMmY63AS39dxoNcbuIPAgAAAXosPivJAAAEAwBHMEUC
+IQDYw2rwNLgFulzjT49wgnJzRfZ+jcXxWB/foEbhtBpjMwIgOqhahXCz4p8Wyq63
+59h+7DClZvsIMG/HPsVuLusdFdEAdQBRo7D1/QF5nFZtuDd4jwykeswbJ8v3nohC
+mg3+1IsF5QAAAXosPiwLAAAEAwBGMEQCIBjhaRFCji1Vul9IDB+dkxA/CQcaS5TE
+jLNkmYJsrIWCAiArCpNJ7VIuv0JcID9lPKBNsMeNdOb1l4hjFBhMptSkOTANBgkq
+hkiG9w0BAQsFAAOCAQEAQtrN4B1NQp+4IMmC977b404G5JIN+jMim9pfBocUSwro
+7h8hc7ugYNspsQIFzqbZLtdOEHC07dSA0J/BSYynEz09BpeKCDm4rT+a0SYNgzyw
+buOnDsVRI9UqhxP4L9ZKvSvf2+pSCvqTuRy7J4h5C1aVZqgxof+lTf++aA6ttkTv
+lyniHMfP8XNwXoLdRQWCB4DMk32RkV8RnnfjG7o4XZdTfEEzndrkzLQiz7lkOQR2
+F5EKdZomFum1CHt9vNa+hYRvO/gXLbdM2IQv3Rh+NeJ2pVSxiX+k6J5iCzeALy5J
+BCQf6wBMPZzCuRDeCIy8jjt+fMfM70kHPLYcpmT8JQ==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIErjCCA5agAwIBAgIQBYAmfwbylVM0jhwYWl7uLjANBgkqhkiG9w0BAQsFADBh
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
+QTAeFw0xNzEyMDgxMjI4MjZaFw0yNzEyMDgxMjI4MjZaMHIxCzAJBgNVBAYTAkNO
+MSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMR0wGwYDVQQL
+ExREb21haW4gVmFsaWRhdGVkIFNTTDEdMBsGA1UEAxMUVHJ1c3RBc2lhIFRMUyBS
+U0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgWa9X+ph+wAm8
+Yh1Fk1MjKbQ5QwBOOKVaZR/OfCh+F6f93u7vZHGcUU/lvVGgUQnbzJhR1UV2epJa
+e+m7cxnXIKdD0/VS9btAgwJszGFvwoqXeaCqFoP71wPmXjjUwLT70+qvX4hdyYfO
+JcjeTz5QKtg8zQwxaK9x4JT9CoOmoVdVhEBAiD3DwR5fFgOHDwwGxdJWVBvktnoA
+zjdTLXDdbSVC5jZ0u8oq9BiTDv7jAlsB5F8aZgvSZDOQeFrwaOTbKWSEInEhnchK
+ZTD1dz6aBlk1xGEI5PZWAnVAba/ofH33ktymaTDsE6xRDnW97pDkimCRak6CEbfe
+3dXw6OV5AgMBAAGjggFPMIIBSzAdBgNVHQ4EFgQUf9OZ86BHDjEAVlYijrfMnt3K
+AYowHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQD
+AgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAG
+AQH/AgEAMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au
+ZGlnaWNlcnQuY29tMEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2lj
+ZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwTAYDVR0gBEUwQzA3Bglg
+hkgBhv1sAQIwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29t
+L0NQUzAIBgZngQwBAgEwDQYJKoZIhvcNAQELBQADggEBAK3dVOj5dlv4MzK2i233
+lDYvyJ3slFY2X2HKTYGte8nbK6i5/fsDImMYihAkp6VaNY/en8WZ5qcrQPVLuJrJ
+DSXT04NnMeZOQDUoj/NHAmdfCBB/h1bZ5OGK6Sf1h5Yx/5wR4f3TUoPgGlnU7EuP
+ISLNdMRiDrXntcImDAiRvkh5GJuH4YCVE6XEntqaNIgGkRwxKSgnU3Id3iuFbW9F
+UQ9Qqtb1GX91AJ7i4153TikGgYCdwYkBURD8gSVe8OAco6IfZOYt/TEwii1Ivi1C
+qnuUlWpsF1LdQNIdfbW3TSe0BhQa7ifbVIfvPWHYOu3rkg1ZeMo6XRU9B4n5VyJY
+RmE=
+-----END CERTIFICATE-----