參考文檔:https://blog.csdn.net/weixin_44000353/article/details/110351557
如果用https的話,會(huì)涉及到證書(shū)十偶,比較麻煩
https://blog.csdn.net/weixin_40449300/article/details/116485095
Go Web簡(jiǎn)單示例:
https://www.cnblogs.com/franklee97/p/7131551.html
https://zhuanlan.zhihu.com/p/104182198
可以現(xiàn)在本機(jī)上測(cè)試弄痹,然后再換到云主機(jī)試試看。
本機(jī)測(cè)試OK各吨,猜測(cè)騰訊云主機(jī)有防火墻限制(https://www.laobuluo.com/5266.html)
采用默認(rèn)開(kāi)放的80端口就OK了
由于正式環(huán)境的小程序的wx.request()只接受https作為url,所以現(xiàn)在的問(wèn)題變成如何在服務(wù)器端用golang實(shí)現(xiàn)簡(jiǎn)單的https服務(wù)
http://www.reibang.com/p/dd5246e6366d
第一次沒(méi)有跑起來(lái)袁铐,看來(lái)上文示例中的程序可能有誤揭蜒,還得研究一下:ListenAndServeTLS
關(guān)于上述函數(shù)用法,見(jiàn)https://vimsky.com/examples/usage/golang_net_http_ListenAndServeTLS.html
其實(shí)上文也沒(méi)有說(shuō)的很清楚剔桨,
網(wǎng)上提問(wèn)得知:TLS函數(shù)的第二個(gè)參數(shù)用pem屉更,第三個(gè)用key
至于證書(shū),我是用騰訊云Ngnix(適用于大多數(shù)場(chǎng)景)的那個(gè)打包文件
下面代碼親測(cè)有效
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)
}