目标组 443 给出的运行状况检查失败,代码如下:[502]

Hil*_*jem 3 amazon-web-services laravel aws-application-load-balancer

我想将 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');
       }
    }
Run Code Online (Sandbox Code Playgroud)
  • 然后添加ENFORCE_SSL=true.env然后如同一链接php artisan config:cache中所述,这是一种比 更新的方式。.htaccess

但结果相同

我不知道该怎么做网络或如何解决这个问题。 我希望能够通过 ssl 访问该网站。请帮忙。谢谢。

在此输入图像描述