go web使用https

如果是在windows下使用,则先下载openssl,找到Win64 OpenSSL v1.1.0j,然后安装。

1、生成key文件
openssl genrsa -out server.key 2048
2、生成crt文件
openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650
3、编写go web代码
go web中从http转到https,只需要从原来的http.ListenAndServe替换成http.ListenAndServeTLS

如果因为key或crt文件出错导致运行就马上结束了,推荐接收http.ListenAndServeTLS的返回值并将其打印出来,那么就可以知道是什么地方发生了错误。

package main

import (
    "net/http"
    "fmt"
    "log"
)

func main() {
    http.HandleFunc("/", index)
    err := http.ListenAndServeTLS(":8001", "server.crt", "server.key", nil)
    log.Fatalln(err)
}

func index(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "hello,https")
}

参考链接:https://studygolang.com/articles/9267

推荐阅读更多精彩内容

  • 直接使用的代码和解释: (注意,要先安装OpenSSL工具,百度一下,很方便,Windows自带Linux环境,百...
    哆啦在这A梦在哪阅读 548评论 1 0
  • 证书的三个作用 加密通信和身份验证(验证对方确实是对方声称的对象)和数据完整性(无法被修改,修改了会被知) 证...
    SuperRoot阅读 7,239评论 1 10
  • 适配https 说明: 苹果声明从2017-01-01开始,所有提交的应用必须使用更安全的https协议。 因此,...
    倔犟的贝壳阅读 524评论 0 1
  • 本例在Windows下测试 **** 在Linux下步骤基本一样,Nginx在编译的时候需要支持--with...
    Notonlyphper阅读 349评论 0 1
  • 文/长木云伊 1,这帮色鬼,雕像也不放过!屁股被摸的锃亮 2,阿三要开挂的节奏 3,机场安检,安检妹纸一个劲儿的翻...
    莫嗔堂堂主阅读 28评论 0 0