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 サイトの他の関連記事を参照してください。