Sau đây là tls tôi backend:Golang ListenAndServeTLS trả về dữ liệu khi không sử dụng https trong trình duyệt
package main
import (
"fmt"
"net/http"
)
const (
PORT = ":8443"
PRIV_KEY = "./private_key"
PUBLIC_KEY = "./public_key"
)
func rootHander(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Nobody should read this.")
}
func main() {
http.HandleFunc("/", rootHander)
err := http.ListenAndServeTLS(PORT, PUBLIC_KEY, PRIV_KEY, nil)
if err != nil {
fmt.Printf("main(): %s\n", err)
}
}
Các phím được tạo bằng hai dòng sau:
openssl genrsa -out private_key 2048
openssl req -new -x509 -key private_key -out public_key -days 365
Khi tôi khởi động server tls và truy cập trang web bằng trình duyệt (https://example.com:8443) Tôi nhận được kết quả mong đợi, sau bỏ qua cảnh báo trình duyệt:
Nobody should read this.
Cho đến giờ mọi thứ đều tuyệt vời.
Bây giờ, khi tôi chỉ trình duyệt của tôi để http://example.com:8443 (chú ý rằng http được sử dụng, không https) tôi nhận được kết quả sau cho Firfox (Chrome cũng làm như vậy, nhưng tải trang web):
Câu hỏi: Tại sao có dấu chấm hỏi?
Liệu https://groups.google.com/forum/#!topic/golang-nuts/ZtP5vPPeyHE công việc cho bạn quá ? – ddevienne