Laravel 5: 미들웨어로 HTTPS 리디렉션 구현
Laravel 5에서는 미들웨어를 사용하여 애플리케이션에 HTTPS 액세스를 적용할 수 있습니다. 이를 수행하는 방법에 대한 단계별 가이드는 다음과 같습니다.
1. 미들웨어 클래스 생성
새 미들웨어 클래스 생성으로 시작하세요.
namespace MyApp\Http\Middleware; use Closure; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle($request, Closure $next) { if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
2. 요청에 미들웨어 적용
다음으로 $middleware 배열에 추가하여 app/Http/Kernel.php에서 미들웨어를 등록합니다:
protected $middleware = [ 'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', 'Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', // Add your middleware here 'MyApp\Http\Middleware\HttpsProtocol' ];
3. Cloudflare 구성
Cloudflare를 사용하는 경우 미들웨어에 seguintes 줄을 추가하세요:
$request->setTrustedProxies([$request->getClientIp()]);
4. Laravel v5.7에서 예외 처리
Laravel v5.7에서는 URL::forceScheme('https')을 사용하여 HTTPS가 아닌 요청을 리디렉션해도 더 이상 요청이 리디렉션되지 않습니다. 올바른 리디렉션을 보장하려면 위에서 설명한 방법을 사용하세요.
결론
이 미들웨어를 구현하면 다음과 같은 상황에서도 Laravel 5 애플리케이션에 대해 HTTPS 액세스를 강제할 수 있습니다. 특정 도메인만 SSL을 사용합니다. 이 접근 방식은 유연하며 특정 요구 사항 및 환경에 따라 사용자 정의가 가능합니다.
위 내용은 미들웨어를 사용하여 Laravel 5에서 HTTPS 리디렉션을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!