4.構建https服務器

package main
import (
	"log"
	"net/http"
)
func handler(w http.ResponseWriter, req *http.Request) {
	w.Header().Set("Content-Type", "text/plain")
	w.Write([]byte("This is an example server.\n"))
}

func main()  {

	http.HandleFunc("/", handler)
	// myserver-private.crt 就是我們剛剛生成的證書
	// myserver-private.key 就是我們創建的私鑰
	err := http.ListenAndServeTLS(":10443", "myserver-private.crt", "myserver-private.key", nil)
	log.Fatal(err)
}

1.cacert.pem 上傳到我們IE瀏覽器 受信任根證書頒發機構 那個欄位
2.在我們的hosts文件添加:127.0.0.1 test.com
3.打開IE瀏覽器方位:https://test.com:10443

使用client 訪問我們構建的服務器
package main

import (
	"crypto/tls"
	"fmt"
	"io/ioutil"
	"net/http"
)

func main()  {
	// 跳過https 驗證
	tr := &http.Transport{
		TLSClientConfig:    &tls.Config{InsecureSkipVerify: true},
	}
	client := &http.Client{Transport: tr}
	resp, err := client.Get("https://test.com:10443")

	if err != nil {
		fmt.Println("error:", err)
		return
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	fmt.Println(string(body))
}
發佈了40 篇原創文章 · 獲贊 12 · 訪問量 4718
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章