ホームページ >バックエンド開発 >Golang >Go アプリケーションで HTTP を HTTPS にリダイレクトするにはどうすればよいですか?

Go アプリケーションで HTTP を HTTPS にリダイレクトするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-04 08:42:11963ブラウズ

How to Redirect HTTP to HTTPS in a Go Application?

Go で HTTP トラフィックを HTTPS にリダイレクトする方法

問題:

TLS が有効になり、Go アプリケーションが HTTPS 接続を受け入れることができるようになります。ただし、HTTP トラフィックを HTTPS にリダイレクトすることも必要です。

解決策:

HTTP トラフィックを処理するカスタム ハンドラーを作成し、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)
}

次に、HTTP をリダイレクトする次のコードを追加します。 Traffic:

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

これにより、HTTP トラフィックを処理するための別のゴルーチンが開始され、受信した HTTP リクエストが対応する HTTPS リクエストにリダイレクトされます。

以上がGo アプリケーションで HTTP を HTTPS にリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。