小编典典

您可以使其与Middleware类一起使用。让我给你个主意。

namespace MyApp\Http\Middleware;

use Closure;

use Illuminate\Support\Facades\App;

class HttpsProtocol {

public function handle($request, Closure $next)

{

if (!$request->secure() && App::environment() === 'production') {

return redirect()->secure($request->getRequestUri());

}

return $next($request);

}

}

然后,将此中间件应用于每个请求,在Kernel.php文件中添加设置规则,如下所示:

protected $middleware = [

'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'

];

在上述示例中,如果满足以下条件,则中间件会将每个请求重定向到https:

当前请求没有安全协议(http)

如果您的环境等于production。因此,只需根据您的喜好调整设置。

云耀斑

我在具有WildCard SSL的生产环境中使用此代码,并且该代码可以正常工作。如果我&& App::environment() ===

'production'在本地主机中删除并对其进行测试,则重定向也有效。因此,是否安装SSL并不是问题。看来您需要非常注意Cloudflare层才能重定向到Https协议。

编辑23/03/2015

感谢@Adam Link的建议:很可能是Cloudflare传递的标头引起的。CloudFlare可能通过HTTP命中了您的服务器,并传递了X-

Forwarded-Proto标头,该标头声明其正在转发HTTPS请求。您需要在中间件中添加另一行,说明…

$request->setTrustedProxies( [ $request->getClientIp() ] );

…信任CloudFlare发送的标头。这将停止重定向循环

编辑27/09/2016-Laravel v5.3

只需要将中间件类添加到以下web组中kernel.php file:

protected $middlewareGroups = [

'web' => [

\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

\Illuminate\Session\Middleware\StartSession::class,

\Illuminate\View\Middleware\ShareErrorsFromSession::class,

// here

\MyApp\Http\Middleware\HttpsProtocol::class

],

];

请记住,web默认情况下该组将应用于每个路由,因此您无需web在路由或控制器中进行显式设置。

编辑23/08/2018-Laravel v5.7

根据环境可以重定向请求App::environment() === 'production'。对于以前的版本是 env('APP_ENV') === 'production'。

使用\URL::forceScheme('https');实际上不会重定向。https://网站建成后,它仅与之建立链接。

2020-05-26

php larvel https,Laravel 5-重定向到HTTPS相关推荐

  1. nginx 配置https 并解决重定向后https协议变成了http的问题

    nginx 配置https 并解决重定向后https协议变成了http的问题 参考文章: (1)nginx 配置https 并解决重定向后https协议变成了http的问题 (2)https://ww ...

  2. php 重定向到https,php – Laravel 5 – 重定向到HTTPS

    您可以使它与中间件类工作.让我给你一个想法. namespace MyApp\Http\Middleware; use Closure; class HttpsProtocol { public fu ...

  3. IIS 配置Http重定向到Https

    注意首先要安装url重定向模块 https://www.microsoft.com/zh-CN/download/details.aspx?id=7435 然后在web.config末尾添加如下代码 ...

  4. Apache如何将HTTP重定向到HTTPS

    这篇文章将为大家详细讲解有关Apache如何将HTTP重定向到HTTPS,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解.  在Apache中强制将HTT ...

  5. Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS

    本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...

  6. Spring Boot——HTTP访问重定向到HTTPS解决方案

    解决方案 方法一:在启动类也就是@SpringBootApplication注解类中加上使用 /*** http重定向到https* @return*/ @Bean public TomcatServ ...

  7. php 重定向到https,php - 如何从HTTPS重定向到HTTP? - SO中文参考 - www.soinside.com

    如果我了解您,以下代码将解决此问题: RewriteEngine On RewriteCond %{HTTPS} =off RewriteCond %{SCRIPT_FILENAME} !\/inde ...

  8. java 重定向 https_使用简单身份验证从HTTP重定向到HTTPS

    我希望得到一些关于如何使用带有ember-simple-auth的ember初始化程序将用户从HTTP重定向到HTTPS的建议 . `import ENV from 'cio/config/envir ...

  9. http 和 https_Golang设置https访问,以及http如何重定向到https

    设置https访问: 初始代码为http监听: func main() { server := &http.Server{ Addr: ":8080", ... } go ...

最新文章

  1. C++ Primer 读书笔记 (1)
  2. 兴义网站服务器存储,兴义ipfs分布式存储操作系统
  3. 深入理解Blocks,Procs和lambdas
  4. Android Crash战斗日记(一、原理篇)
  5. postfix+mysql+dovecot
  6. python图像复制、显示、保存
  7. tag+标签+php,ZBLOG PHP代码实现侧栏彩色标签TAG关键字样式方法
  8. Intellij IDEA 使用学习
  9. php 获取内容页图片,织梦DEDECMS内容页获取图片URL地址的方法
  10. laravel 使用极验验证码
  11. Java异常Error和Exception
  12. XCode帮助文档离线下载解决办法
  13. python 百度翻译官方api和破解版方法
  14. 使用 URPF 来阻止IP地址欺骗( IP Address Spoofing)
  15. 求职技巧:网投简历如何才能做到最抢眼
  16. Ubuntu交叉编译工具链安装
  17. appcan ajax mysql_appCan折叠列表
  18. 99计数器c语言,数字显示00-99计数器
  19. SQL Server2008函数大全
  20. k8s iptable升级到ipvs

热门文章

  1. 基于JAVA+SpringMVC+Mybatis+MYSQL的宠物寻回系统
  2. linux界面唤醒,Linux计算机实现自动唤醒和关闭的方法步骤详解
  3. 机器学习 - 损失计算-softmax_cross_entropy_with_logits
  4. 自动化测试的概念及工具
  5. JAVA GUI THREAD---***
  6. Innobackupx工具命令简单解析
  7. 工作流学习——Activiti流程实例、任务管理四步曲 (zhuan)
  8. 抓住六个点,谈唯品会的峰值系统应对实践
  9. OpenShift Redhat的使用和介绍
  10. C语言中volatile关键字与汇编__volatile__