我想将Laravel网站部署到亚马逊,所以我做了以下步骤:
请注意,Tg443具有有效的SSL证书
将Ec2的安全组更改为负载均衡器的安全组
**结果:**
该网站可以在http的80端口上正常运行,并且可以进行健康检查,并且我可以从任何浏览器正常访问该网站
该网站在https:443
在(ssh到实例之后)/ var / log / httpd / error_log中,我遇到以下错误/var/www/html/.htaccess: RewriteCond: bad flag delimiters
所以,我尝试了,根据链接enforce-https-laravel:
要按照链接中所述在laravel应用中配置.htaccess
,请刷新所有内容`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
,然后按照相同的 link 中的说明添加了php artisan config:cache
,这是一种比.htaccess
更新的方法。但结果相同
我不知道该怎么做或如何解决此问题。 我希望能够使用ssl访问该网站。请帮忙。谢谢。
答案 0 :(得分:1)
根据评论,问题在于运行状况检查已设置为在ALB和EC2之间使用HTTPS。但是,由于ALB终止了SSL连接,因此ALB和EC2之间的所有通信都使用HTTP,而不是HTTPS。
因此,无法正常运行的健康检查的解决方案是对它们使用HTTP,而不是HTTPS。