コンテンツにスキップ

リダイレクト

すべてのコアミドルウェアは middleware パッケージに含まれています:

import "github.com/labstack/echo/v5/middleware"

HTTPS redirect ミドルウェアは HTTP リクエストを HTTPS へリダイレクトします。 たとえば http://labstack.com は https://labstack.com へリダイレクトされます。

e := echo.New()
e.Pre(middleware.HTTPSRedirect())

HTTPS WWW redirect は HTTP リクエストを www HTTPS へリダイレクトします。 たとえば http://labstack.com は https://www.labstack.com へリダイレクトされます。

e := echo.New()
e.Pre(middleware.HTTPSWWWRedirect())

HTTPS NonWWW redirect は HTTP リクエストを non-www HTTPS へリダイレクトします。 たとえば http://www.labstack.com は https://labstack.com へリダイレクトされます。

e := echo.New()
e.Pre(middleware.HTTPSNonWWWRedirect())

WWW redirect は non-www リクエストを www へリダイレクトします。 たとえば http://labstack.com は http://www.labstack.com へリダイレクトされます。

e := echo.New()
e.Pre(middleware.WWWRedirect())

NonWWW redirect は www リクエストを non-www へリダイレクトします。 たとえば http://www.labstack.com は http://labstack.com へリダイレクトされます。

e := echo.New()
e.Pre(middleware.NonWWWRedirect())
e := echo.New()
e.Use(middleware.HTTPSRedirectWithConfig(middleware.RedirectConfig{
Code: http.StatusTemporaryRedirect,
}))

上の例は、HTTP リクエストをステータスコード 307 - StatusTemporaryRedirect で HTTPS へリダイレクトします。

RedirectConfig · github.com/labstack/echo/v5@5196b9b

フィールドの説明は英語のソースコードのコメントから生成されています。

パッケージのソースコードのフィールド
フィールド型説明ソース
Code int Status code to be used when redirecting the request. Optional. Default value http.StatusMovedPermanently. L21
パッケージのソースコードの関数
型ソース
func HTTPSNonWWWRedirect() echo.MiddlewareFunc L80
func HTTPSNonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L85
func HTTPSRedirect() echo.MiddlewareFunc L52
func HTTPSRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L57
func HTTPSWWWRedirect() echo.MiddlewareFunc L66
func HTTPSWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L71
func NonWWWRedirect() echo.MiddlewareFunc L108
func NonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L113
func WWWRedirect() echo.MiddlewareFunc L94
func WWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L99
// Effective defaults applied when fields are left unset.
RedirectConfig{
Skipper: DefaultSkipper,
Code: http.StatusMovedPermanently,
}

Echo のセキュリティ更新 (v5.4.0 / v4.16.0)

Section titled “Echo のセキュリティ更新 (v5.4.0 / v4.16.0)”

HTTPS リダイレクトは Context#Scheme() に依存します。公開アドレスのプロキシを使う場合は信頼するアドレス範囲を設定してください。未設定だとリダイレクトがループすることがあります。