2023年11月3日 星期五

GO 創建 HTTPS 伺服器端


1.net/HTTP封包中提供啟動HTTPS服務方法
func (sv *Server) ListenAndServeTLS(certFile, keyFile string) error


2.要先準備好SSL簽章憑證,(這裡測試用SSL憑證,沒有被瀏覽器信任的)


3.程式碼展示
#這兩個文件沒指定路徑要放在工作區層>>"server.crt", "server.key"
package main

import (
"log"
"net/http"
)

func main() {
        // 啟動伺服器
sv := &http.Server{Addr: ":8088", Handler: http.HandlerFunc(handle)}
        // 用TLS啟動伺服器,因為執行的事HTTP2,所以他必須與TLS一起執行
log.Printf("啟動 https://0.0.0.0:8088")
log.Fatal(sv.ListenAndServeTLS("server.crt", "server.key"))
}

func handle(w http.ResponseWriter, r *http.Request) {
log.Printf("Test connection:", r.Proto) //請求紀錄
        //向client發訊息
w.Write([]byte("This HTTP 2 message! Hellow~!!"))
}



4.訪問本地 127.0.0.1:8080 ,這樣HTTPS伺服器就成功了








沒有留言:

張貼留言