Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengalihkan HTTP ke HTTPS dalam Aplikasi Go?

Bagaimana untuk Mengalihkan HTTP ke HTTPS dalam Aplikasi Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-04 08:42:11963semak imbas

How to Redirect HTTP to HTTPS in a Go Application?

Cara Mengubah Hala Trafik HTTP ke HTTPS dalam Go

Masalah:

Anda telah mendayakan TLS, membenarkan aplikasi Go anda menerima sambungan HTTPS. Walau bagaimanapun, anda juga ingin mengubah hala trafik HTTP ke HTTPS.

Penyelesaian:

Buat pengendali tersuai untuk mengendalikan trafik HTTP dan ubah halanya ke HTTPS:

import (
    "net/http"
)

func redirectToTls(w http.ResponseWriter, r *http.Request) {
    // If you are serving on Go servers, you can use "r.Host"
    http.Redirect(w, r, "https://your-domain-name.com"+r.RequestURI, http.StatusMovedPermanently)
}

Seterusnya, tambahkan kod berikut untuk mengubah hala lalu lintas HTTP:

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

Ini akan mulakan goroutine berasingan untuk mengendalikan trafik HTTP, di mana ia mengubah hala permintaan HTTP masuk kepada rakan HTTPS mereka.

Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan HTTP ke HTTPS dalam Aplikasi 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