Go での HTTP から HTTPS へのリダイレクトの処理
TLS 対応の Go Web アプリケーションをデプロイする場合、HTTP トラフィックを HTTPS にリダイレクトすることはセキュリティ上重要です安全な接続を維持します。これを効果的に実現する方法は次のとおりです。
リダイレクトの処理を担当するカスタム HTTP ハンドラーを実装します。次のような関数を定義します。
func redirectToTls(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, "https://IPAddr:443"+r.RequestURI, http.StatusMovedPermanently) }
このハンドラーでは、HTTP ステータス コード「Moved Permanently」(301) を使用して、同じ URI への HTTPS リダイレクトを作成します。
次に、 HTTP トラフィックを処理し、HTTPS URL にリダイレクトする必要があります。次のコードをメインの Go ファイルに追加します。
go func() { if err := http.ListenAndServe(":80", http.HandlerFunc(redirectToTls)); err != nil { log.Fatalf("ListenAndServe error: %v", err) } }()
このコードは、ポート 80 で HTTP トラフィックをリッスンする別の Go ルーチンを作成します。リクエストが到着すると、redirectToTls ハンドラーを使用して HTTPS URL にリダイレクトされます。
このアプローチにより、HTTP トラフィックを HTTPS にシームレスにリダイレクトし、Go Web アプリケーションの安全な接続を維持できます。
以上がGo Web アプリケーションで HTTP を HTTPS にリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。