ホームページ > バックエンド開発 > PHPチュートリアル > ドメイン例外を含むすべてのLaravel 5リクエストをHTTPSにリダイレクトする方法は?

ドメイン例外を含むすべてのLaravel 5リクエストをHTTPSにリダイレクトする方法は?

Mary-Kate Olsen
リリース: 2024-12-04 21:13:13
オリジナル
388 人が閲覧しました

How to Redirect All Laravel 5 Requests to HTTPS with Domain Exceptions?

Laravel 5: HTTPS リダイレクトを強制する

質問: Laravel 5 アプリケーションで例外を許可しながら、すべてのリクエストを HTTPS にリダイレクトするにはどうすればよいですか?特定のドメイン?

回答:

HTTPS リダイレクトを強制するには、ミドルウェア クラスを利用できます。方法は次のとおりです:

namespace MyApp\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\App;

class HttpsProtocol
{
    public function handle($request, Closure $next)
    {
        // In production environment, redirect non-secure requests
        if (!$request->secure() && App::environment() === 'production') {
            return redirect()->secure($request->getRequestUri());
        }

        return $next($request);
    }
}
ログイン後にコピー

アプリケーション:

Kernel.php ファイルにミドルウェアを登録します:

protected $middleware = [
    ...
    'MyApp\Http\Middleware\HttpsProtocol',
];
ログイン後にコピー

Cloudflare 構成:

を使用している場合Cloudflare では、リダイレクト ループが発生する可能性があります。これを解決するには:

  1. 次の行をミドルウェアに追加します:

    $request->setTrustedProxies([$request->getClientIp()]);
    ログイン後にコピー
  2. Cloudflare のコントロール パネルで、新しいページ ルールを作成します。

    • 一致 URL: *
    • 設定: 常に HTTPS を使用します

Laravel v5.3 以降:

Laravel v5 の場合。 3 以降では、Web にミドルウェアを含めるだけですグループ:

protected $middlewareGroups = [
    'web' => [
        ...
        'MyApp\Http\Middleware\HttpsProtocol'
    ],
];
ログイン後にコピー

その他の注意:

  • 指定したドメインに対して SSL が適切に構成されていることを確認してください。
  • 環境リダイレクト元 (HTTP) は実稼働環境 (HTTPS) とは異なる必要があります。
  • さらにリクエスト ドメインまたはその他の要素を確認して、ミドルウェアの動作を微調整します。

以上がドメイン例外を含むすべてのLaravel 5リクエストをHTTPSにリダイレクトする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート