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

Go で HTTP を HTTPS にリダイレクトするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-29 03:27:13438ブラウズ

How to Redirect HTTP to HTTPS in Go?

Go での HTTP から HTTPS へのリダイレクト

HTTPS のみの接続を強制するために、HTTP リクエストを対応する HTTPS にリダイレクトできます。 Go でこれを効果的に行う方法は次のとおりです。

1.リダイレクト ハンドラーを作成します:

リダイレクトを処理するカスタム HTTP ハンドラーを定義します:

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

このハンドラーは、すべての HTTP リクエストを対応する HTTPS URL にリダイレクトします (「IPAddr」を置き換えます)サーバーの IP アドレスまたはドメイン名で置き換えます)。

2. HTTP トラフィックのリダイレクト:

ポート 80 でリッスンし、リダイレクト ハンドラーを使用する HTTP サーバーを起動します:

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

この設定では、ポート 80 で受信されるすべての HTTP リクエストは対応する HTTPS に自動的にリダイレクトされ、Web サイトへの安全な接続が確保されます。

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

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