>백엔드 개발 >PHP 튜토리얼 >도메인 예외를 사용하여 모든 Laravel 5 요청을 HTTPS로 리디렉션하는 방법은 무엇입니까?

도메인 예외를 사용하여 모든 Laravel 5 요청을 HTTPS로 리디렉션하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-04 21:13:13390검색

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 이상에서는 웹에 미들웨어를 포함하기만 하면 됩니다. 그룹:

protected $middlewareGroups = [
    'web' => [
        ...
        'MyApp\Http\Middleware\HttpsProtocol'
    ],
];

기타 참고:

  • 지정한 도메인에 대해 SSL이 올바르게 구성되었는지 확인하세요.
  • 환경 (HTTP)에서 리디렉션하는 환경은 프로덕션 환경(HTTPS)과 달라야 합니다.
  • 추가로 수행할 수 있습니다. 요청 도메인이나 기타 요소를 확인하여 미들웨어 동작을 미세 조정하세요.

위 내용은 도메인 예외를 사용하여 모든 Laravel 5 요청을 HTTPS로 리디렉션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.