Mengendalikan Pengalihan HTTP ke HTTPS dalam Go
Apabila menggunakan aplikasi web Go yang didayakan TLS, mengubah hala trafik HTTP ke HTTPS adalah penting untuk keselamatan dan mengekalkan sambungan yang selamat. Begini cara untuk mencapai matlamat ini dengan berkesan:
Laksanakan pengendali HTTP tersuai yang bertanggungjawab untuk mengendalikan pengalihan. Takrifkan fungsi seperti berikut:
func redirectToTls(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, "https://IPAddr:443"+r.RequestURI, http.StatusMovedPermanently) }
Dalam pengendali ini, kami mencipta ubah hala HTTPS ke URI yang sama menggunakan kod status HTTP "Dipindahkan Secara Kekal" (301).
Seterusnya, kita perlu mengendalikan trafik HTTP dan mengubah halanya ke URL HTTPS. Tambahkan kod berikut pada fail Go utama anda:
go func() { if err := http.ListenAndServe(":80", http.HandlerFunc(redirectToTls)); err != nil { log.Fatalf("ListenAndServe error: %v", err) } }()
Kod ini mencipta rutin Go yang berasingan yang mendengar pada port 80 untuk trafik HTTP. Apabila permintaan tiba, ia mengubah hala ke URL HTTPS menggunakan pengendali redirectToTls.
Pendekatan ini membolehkan anda mengubah hala trafik HTTP ke HTTPS dengan lancar dan mengekalkan sambungan selamat untuk aplikasi web Go anda.
Atas ialah kandungan terperinci Bagaimana untuk Ubah hala HTTP ke HTTPS dalam Aplikasi Web Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!