golangweb从入门到精通2步实现免费https服务器搭建

2步实现免费https服务器搭建

golang 简介

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

golang前景

适合云计算、微服务、基础后端软件的功能实现。

go语言优点

go是非常年轻的一门语言,“兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性”,具备强大的标准库,内置垃圾回收机制,属于静态类型语言,因此具备编译检查和编码规范,特别是并发功能实现简单,但功能强大,可使用goroutine和channel轻松实现高并发。

golang web 优势

语法简单:语法简洁,新手入门简单,开发应用性能高。

便于维护:强类型静态语言,便于项目的重构和维护。

部署方便:编译的可执行二进制文件,在执行时,不需要部署环境,把编译文件上传,就完成了项目的部署。

2步实现免费https服务器搭建

代码解析:

步骤1 : 设置请求处理对象http.HandleFunc

http.HandleFunc("/index", Index)

步骤2 : 请求处理函数Index(w http.ResponseWriter, r *http.Request)

func Index(w http.ResponseWriter, r *http.Request) { _, _ = w.Write([]byte(r.Proto)) }

步骤3 : 生成证书

方法1:

(1)在当前目录下生成一个generate_cert.exe的可执行程序

>go build C:\Program Files\Go\src\crypto\tls\generate_cert.go

(2)在当前目录下生成证书(cert.pem)和秘钥(key.pem)

>generate_cert.exe -host localhost方法2:

在当前目录下生成证书(cert.pem)和秘钥(key.pem)

>go run C:\Program Files\Go\src\crypto\tls\generate_cert.go -host localhost

步骤4 : 使用证书

http.ListenAndServeTLS("127.0.0.1:443", "./cert.pem", "./key.pem", nil)

(1)必须使用http.ListenAndServeTLS()

(2)方法中有4个参数:

a、"127.0.0.1:443",ip:port,其中port是443,因为HTTPS默认使用的就是443端口,这样url输入就可以直接访问,不需要输入端口号

b、"./cert.pem":为公钥证书,放置在当前目录下了

c、"./key.pem":为私钥证书,放置在当前目录下了.

d、nil:设置为nil,代表使用默认的多路复用器DefaultServeMux.

步骤5 : 启动服务器

>go build main.go >main.exe

步骤6 : 访问服务器

https://127.0.0.1/index