Laravel에서는 미들웨어 클래스를 활용하여 애플리케이션에 HTTPS를 강제 적용할 수 있습니다. 샘플 구현은 다음과 같습니다.
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); } }
이 미들웨어를 활성화하려면 Kernel.php 파일의 미들웨어 그룹에 추가하세요.
protected $middleware = [ // ... 'MyApp\Http\Middleware\HttpsProtocol' ];
기본적으로 웹 미들웨어 그룹이 적용됩니다. 모든 경로에 적용되므로 추가 구성이 필요하지 않습니다.
Cloudflare를 사용하는 경우 리디렉션 루프가 발생할 수 있습니다. 이는 Cloudflare가 HTTPS를 나타내는 "X-Forwarded-Proto" 헤더를 사용하여 HTTP 요청을 전달하기 때문입니다. 이 문제를 해결하려면 미들웨어에 다음 줄을 추가하세요.
$request->setTrustedProxies([$request->getClientIp()]);
이것은 Cloudflare에서 제공한 IP와 헤더를 신뢰하여 루프를 깨뜨립니다.
Laravel 버전 5.3 이상: 미들웨어 클래스를 Kernel.php 파일의 "web" 미들웨어 그룹.
Laravel 버전 5.7 이상:
위 내용은 Laravel 애플리케이션에서 HTTPS를 강제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!