0

ミドルウェアがインストールされたAWS(Elastic Beanstalk)にLaravel 5.4アプリを導入しました。これは、SSLを強制するためのlaravel-ssl-protocol(resinoによる)です。 。302エラー:SSL内のLaravel 5.4 AWS ELBロードバランサ

protected $middleware = [ 
    ... 
    \Riseno\SSLProtocol\SSLMiddleware::class,    
]; 

これはホームステッド/ローカルマシンで完全に機能します。しかし、サーバ(AWS ELB)では動作しません。私は実際のイメージか問題を付けました。 firefox and chrome too many redirect

この問題を解決する方法については、ご理解ください。ありがとう。

+0

ELBの背後には、 'x-forwarded-proto' HTTPヘッダをチェックして接続が安全かどうかを判断する必要があります。あなたが使用しているミドルウェアはCloudFlareのフレキシブルなSSLのためだけだと言いますので、あなたの状況でうまくいくとは思えません。 –

+0

驚くばかり!その重要な情報、Mark B.に感謝します。私はAmazonのドキュメントでそれを見ていきます。読むのは良いスタートです。 –

答えて

0

私は最終的に私の問題の修正を見つけました。私はここでそれを共有する必要があると思います。だから私と同じ問題を抱えている人がいるなら、これが助けになるかもしれない。ウェブ上でいくつかの調査をしたところ、私はこの記事を見つけました:How to Configure Symfony to Work behind a Load Balancer or a Reverse Proxy

public function handle($request, Closure $next) 
{ 
    $request->setTrustedProxies([$request->getClientIp()], Request::HEADER_X_FORWARDED_AWS_ELB); 

    if (!$request->secure() && env('APP_ENV') === 'production') { 
     return redirect()->secure($request->path()); 
    } 

    return $next($request); 
} 

とAWSと多田に更新コードベースをアップロードする:次のように(resinoによって)現在のミドルウェア、laravel-SSLプロトコル上のいくつかのマイナーな変更をしました!できます。 302エラーはうまくいった。キーは "Request :: HEADER_X_FORWARDED_AWS_ELB"でした。