如果是在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")
}
网友评论