在Lumen 5.6中强制SSL路由

时间:2019-03-18 19:59:53

标签: ssl routes lumen

我需要在Lumen 5.6中强制使用SSL的所有路由。 例如http://www.mywebsite.comhttps://www.mywebsite.com

我在网络上尝试了许多不同的解决方案,但对我没有任何帮助: Middelware .htaccess AppServiceProvider

在Lumen 5.6中强制SSL方案的最佳方法是哪一种? 谢谢,

1 个答案:

答案 0 :(得分:1)

您可以创建一个中间件类,并使用redirect()->to参数设置为secure的{​​{1}}函数。

要实现此目的,请创建一个类(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