【发布时间】:2020-11-04 19:14:20
【问题描述】:
我的网站说“不安全”,我添加了 Https 中间件,但我不明白如何在控制器中调用它,我已经在 Appserviceprovider 中尝试了 forcesheme,但似乎没有任何效果,我已将 SSL 设置为我的域名。请帮忙。
我的 HttpsProtocol 中间件
<?php
namespace App\Http\Middleware;
use Closure;
class HttpsProtocol {
public function handle($request, Closure $next)
{
if (!$request->secure() && env('APP_ENV') === 'prod') {
return redirect()->secure($request->getRequestUri());
}
return $next($request);
}
内核.php
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
// appending custom middleware
'MyApp\Http\Middleware\HttpsProtocol'
];
}
【问题讨论】:
-
这必须在服务器设置(Apache、Nginx)中完成,而不是在代码中
-
@RamizKongulov 所以我不需要在我的项目文件中添加任何额外的 HTTPS 重定向代码吗?非常感谢您的回复
标签: laravel http laravel-5 redirect https