我想在亚马逊上部署一个 Laravel 网站,所以我做了以下步骤:
- 使用 Elastic Beanstalk 部署 Laravel 应用程序
- 配置Route:53一个实例指向Ec2的Ip
- 创建了具有两个侦听器的应用程序负载均衡器,一个在 80,一个在 443
- 创建了 2 个目标组 Tg80 和 Tg443 并分别指定听众
请注意,Tg443 具有有效的 SSL 证书
将 Ec2 的安全组更改为负载均衡器的安全组
- 将 Route:53 中的 A 实例更改为负载均衡器的实例
**结果: **
该站点在带有http的端口80上完美运行,对于健康检查也是如此,我可以从任何浏览器正常访问该站点
该站点在 https:443 上返回 [502 Bad Gateway]
在(在 ssh 到实例之后)/var/log/httpd/error_log 我有以下错误
/var/www/html/.htaccess: RewriteCond: bad flag delimiters
所以,我试过了,根据链接enforce-https-laravel:
要
.htaccess
按照链接中的说明在 laravel 应用程序中进行配置,请刷新所有内容 `php artisan config:cache,重试运行状况检查,但结果相同我删除
.htaccess
并配置了app/Providers/AppServiceProvider.php
:
use Illuminate\Contracts\Routing\UrlGenerator;
public function boot(UrlGenerator $url)
{
if(env('ENFORCE_SSL', false)) {
$url->forceScheme('https');
}
}
- 并添加
ENFORCE_SSL=true
,.env
然后php artisan config:cache
如同一链接中所述,它是一种比.htaccess
.
但结果相同
我不知道该怎么办或如何解决这个问题。 我希望能够使用 ssl 访问该站点。请帮忙。谢谢你。