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