【Laravel】route 함수를 사용하는 경우의 SSL화 대책

SSL화하기 전의 상태



blade 템플릿의 form의 action 속성을 route 함수로 기재.route 함수는 이 기사에서 설명합니다.
<form method="post" action="{{ route('profile.create') }}">

상기의 기술이라면, URL이 http://・・・ 가 되어 버립니다.
SSL화되어 있지 않기 때문에 천이처의 화면에서는 천이처에서는 아래와 같은 화면이 표시됩니다.


덧붙여서 "이대로 보내기"버튼을 클릭하면 오류가 발생합니다.
오류의 원인은 action 속성에 지정된 route로 리디렉션되기 때문입니다(GET 요청으로 인해).

(form의 action 속성에 패스를 직접 지정했을 경우는, URL은 https://・・・ 이었습니다. 그래서 route 함수를 사용하지 않는 경우는, 이번의 SSL화 대책은 하지 않아도 괜찮다고 생각합니다.)

SSL화 대책


App/Providers/AppServiceProvider.php 에 다음을 추가해야 합니다.

App/Providers/AppServiceProvider.php
<?php

namespace App\Providers;

use Illuminate\Routing\UrlGenerator;


class AppServiceProvider extends ServiceProvider
    public function boot(UrlGenerator $url)
    {
        $url->forceScheme('https');
    }
}

추가한 후 URL을 다시 확인하면 https://・・・가 되었습니다.

결론



이번, route 함수를 사용했을 때의 SSL화 대책을 기재했습니다. 비슷한 함수로 url 함수가 있습니다만, 이쪽도 SSL화 대책이 필요하다고 합니다. 대책하는 경우는, 하기 기사가 참고가 된다고 생각합니다.
Laravel로 만든 서비스를 SSL화했을 때 했던 것과 참고 기사 일람

참고



라라벨의 SSL화 대책

좋은 웹페이지 즐겨찾기