gpt4 book ai didi

laravel - 目标组 443 给出 Health checks failed with these codes : [502]

转载 作者:行者123 更新时间:2023-12-02 19:38:08 30 4
gpt4 key购买 nike

我想部署一个 Laravel 网站到亚马逊,所以我做了以下步骤:

  • 使用 Elastic Beanstalk 部署了 Laravel 应用
  • 配置Route:53实例指向EC2的Ip
  • 创建了 Application Load Balancer,其中有两个监听器,一个在 80,一个在 443
  • 创建了2个目标群体Tg80和Tg443并分别指定听众
  • 请注意,Tg443 具有有效的 SSL 证书

  • 将 Ec2 的安全组更改为负载均衡器的安全组

  • 将 Route:53 中的 A 实例更改为负载均衡器的实例

**结果:**

  • 该站点在 80 端口上与 http 完美运行,同样用于健康检查,我可以从任何浏览器正常访问该站点

  • 网站在 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 访问该站点。请帮忙。谢谢。

enter image description here

最佳答案

根据评论,问题是健康检查设置为在 ALB 和 EC2 之间使用 HTTPS。但是,由于 ALB 终止了 SSL 连接,因此 ALB 和 EC2 之间的所有流量都在 HTTP 中,而不是 HTTPS。

因此,无法运行健康检查的解决方案是为它们使用 HTTP,而不是 HTTPS。

关于laravel - 目标组 443 给出 Health checks failed with these codes : [502],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60738575/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com