背景:微信小程序上线,API接口需要https访问才行。
1、获取SSL证书
在腾讯云可以免费申请获取证书。有效期1年。
2、在beego项目配置证书
证书申请好后下载解压得到这样一个目录
打开Nginx文件夹,里面有两个文件,一个.key,一个.crt。这两个文件全都拷贝到项目中conf文件夹下。
然后打开app.conf配置文件,添加如下配置:
HTTPSCertFile = "conf/XXXXX.crt"
HTTPSKeyFile = "conf/XXXXX.key"
EnableHTTPS = true
EnableHttpTLS = true
EnableHttp = false
HttpsPort = 10443
完成,接下来运行项目,就可以用https://127.0.0.1:10443去访问了。
这里还需要注意有个坑,如果要打包成exe或者打包放到linux运行。
这个打包好的可执行文件同一级目录一定要有conf文件夹,并且conf文件夹中要有这两个证书文件,否者运行后不能用https请求,并且记得代码的配置文件中一定要加
EnableHTTP = false
否则会报: golang ListenAndServeTLS: listen tcp : 10443: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.