参考文档:https://blog.csdn.net/weixin_44000353/article/details/110351557
如果用https的话,会涉及到证书,比较麻烦
https://blog.csdn.net/weixin_40449300/article/details/116485095
Go Web简单示例:
https://www.cnblogs.com/franklee97/p/7131551.html
https://zhuanlan.zhihu.com/p/104182198
可以现在本机上测试,然后再换到云主机试试看。
本机测试OK,猜测腾讯云主机有防火墙限制(https://www.laobuluo.com/5266.html)
采用默认开放的80端口就OK了
由于正式环境的小程序的wx.request()只接受https作为url,所以现在的问题变成如何在服务器端用golang实现简单的https服务
https://www.jianshu.com/p/dd5246e6366d
第一次没有跑起来,看来上文示例中的程序可能有误,还得研究一下:ListenAndServeTLS
关于上述函数用法,见https://vimsky.com/examples/usage/golang_net_http_ListenAndServeTLS.html
其实上文也没有说的很清楚,
网上提问得知:TLS函数的第二个参数用pem,第三个用key
至于证书,我是用腾讯云Ngnix(适用于大多数场景)的那个打包文件
下面代码亲测有效
package main
import (
"fmt"
"log"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w,
"Hi, This is an example of HTTPS")
}
func main() {
http.HandleFunc("/", handler)
err:=http.ListenAndServeTLS(":80", "/data/gopath/tryit.pem", "/data/gopath/tryit.key", nil)
log.Fatal(err)
}
网友评论