laravel 或 AWS 没有检测到我的 https
Posted
技术标签:
【中文标题】laravel 或 AWS 没有检测到我的 https【英文标题】:laravel or AWS don't detect my https 【发布时间】:2016-04-07 23:48:03 【问题描述】:我用我的 ssl 认证配置了我的 AWS beanstalk,这项工作但在生产中我的 laravel 没有检测到 https 所以,它生成 HTTP url 而不是 HTTPS url。所以我的应用程序错误。
比如我创建了一条路线
Route::get('current', function ()
return URL::current();
);
它告诉我:
在本地工作得很好:
为什么它不生成 https url ? 谢谢,
【问题讨论】:
【参考方案1】:Elastic Beanstalk 在负载均衡器后面运行。负载均衡器将所有请求代理到 EC2。它将标头转发给请求,因此您需要配置 Symfony 的 Request 类,以便它能够正确解释请求是如何发出的。
最简单的方法是使用 Fideloper 的TrustedProxy。
【讨论】:
【参考方案2】:使用以下内容更新您的 .htacces 文件
RewriteCond %SERVER_PORT 80
重写规则 ^(.*)$ https://www.yourdomain.com/$1 [R,L]
【讨论】:
以上是关于laravel 或 AWS 没有检测到我的 https的主要内容,如果未能解决你的问题,请参考以下文章
AWS Beanstalk Laravel 部署后挂钩没有这样的文件或目录
如何阻止数据在具有 Laravel 应用程序的 AWS 代码管道上被删除