我需要在Lumen 5.6中强制使用SSL的所有路由。 例如http://www.mywebsite.com至https://www.mywebsite.com
我在网络上尝试了许多不同的解决方案,但对我没有任何帮助: Middelware , .htaccess , AppServiceProvider
在Lumen 5.6中强制SSL方案的最佳方法是哪一种? 谢谢,
答案 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