Принудительно использовать SSL-маршруты в Lumen 5.6 - PullRequest
0 голосов
/ 18 марта 2019

Мне нужно форсировать все маршруты с SSL в Lumen 5.6.Например, от http://www.mywebsite.com до https://www.mywebsite.com

В Интернете я пробовал много разных решений, но у меня ничего не получалось: Middelware , .htaccess , AppServiceProvider

Какой лучший способ использовать схему SSL в Lumen 5.6?Спасибо,

1 Ответ

1 голос
/ 19 марта 2019

Вы можете создать класс промежуточного программного обеспечения и использовать функцию redirect()->to с параметром secure, установленным на true.

Для этого создайте класс (HttpsProtocol.php) и поместите его в каталог промежуточного программного обеспечения:

namespace App\Http\Middleware;

use Closure;

class HttpsProtocol{

    /**
     * @param \Illuminate\Http\Request $request
     * @param Closure $next
     *
     * @return \Illuminate\Http\Response|\Laravel\Lumen\Http\ResponseFactory|mixed
     */
    public function handle($request, Closure $next) {
        if (!$request->secure() && app()->environment() === 'production') {
            return redirect()->to($request->getRequestUri(), 302, [], true);
        }
        return $next($request);
    }

}

И добавьте промежуточное программное обеспечение в массив $app->middleware, найденный вapp.php.

$app->middleware([
    App\Http\Middleware\HttpsProtocol::class
]);
...