Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Ubah hala HTTP ke HTTPS dengan Cekap dalam Go?

Bagaimana untuk Ubah hala HTTP ke HTTPS dengan Cekap dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-30 17:38:11769semak imbas

How to Efficiently Redirect HTTP to HTTPS in Go?

Mengubah hala HTTP ke HTTPS dalam Go

Artikel ini menangani isu mengubah hala trafik HTTP ke HTTPS dalam aplikasi Go. Walaupun berjaya menyediakan TLS, memahami cara melaksanakan pengalihan ini dengan cekap adalah penting.

Menubuhkan Pengendali Pengalihan

Untuk memulakan pengalihan, cipta pengendali yang mengendalikan pengalihan kepada HTTPS. Berikut ialah contoh:

func redirectToTls(w http.ResponseWriter, r *http.Request) {
    http.Redirect(w, r, "https://IPAddr:443"+r.RequestURI, http.StatusMovedPermanently)
}

Pengendali ini akan mengubah hala permintaan HTTP kepada rakan HTTPS yang sepadan, menggunakan alamat IP dan port 443.

Mengubah hala Trafik HTTP

Setelah pengendali ubah hala ditubuhkan, anda perlu mengubah hala trafik HTTP masuk kepadanya. Ini boleh dicapai dengan melancarkan goroutine yang mendengar pada port 80 dan menyediakan pengendali ubah hala:

go func() {
    if err := http.ListenAndServe(":80", http.HandlerFunc(redirectToTls)); err != nil {
        log.Fatalf("ListenAndServe error: %v", err)
    }
}()

Groutine ini akan terus mendengar pada port 80 dan mengubah hala sebarang permintaan HTTP yang masuk ke HTTPS, dengan berkesan memastikan semua trafik disulitkan.

Atas ialah kandungan terperinci Bagaimana untuk Ubah hala HTTP ke HTTPS dengan Cekap dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn