web-dev-qa-db-ja.com

すべてのAWS EB Laravelルートが404 Not Found nginx / 1.16.1を取得

AWS Elastic beanstalkに新しいlaravel 7アプリケーションをデプロイしました。ApacheサーバーがNginxサーバーに変更されたことに気づきました。

https://docs.aws.Amazon.com/elasticbeanstalk/latest/platforms/platform-history-php.html

これは私のAPIバックエンドURLです: http://mappab-api-staging.mappab.com.br/

これはログインルートです: http://mappab-api-staging.mappab.com.br/login -404ステータス。

同じ問題が発生しましたか?どうすれば修正できますか?

/etc/nginx/conf.d/elasticbeanstalk/にある私のphp.confは次のとおりです。

root /var/www/html/public;

index index.php index.html index.htm;

location / {
   try_files $uri $uri/ /index.php?$query_string;
}

location ~ /\.ht {
   deny all;
}

location ~ /.well-known {
   allow all;
}

location ~ \.(php|phar)(/.*)?$ {
    fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;

    fastcgi_intercept_errors on;
    fastcgi_index  index.php;

    fastcgi_param  QUERY_STRING       $query_string;
    fastcgi_param  REQUEST_METHOD     $request_method;
    fastcgi_param  CONTENT_TYPE       $content_type;
    fastcgi_param  CONTENT_LENGTH     $content_length;

    fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    fastcgi_param  REQUEST_URI        $request_uri;
    fastcgi_param  DOCUMENT_URI       $document_uri;
    fastcgi_param  DOCUMENT_ROOT      $document_root;
    fastcgi_param  SERVER_PROTOCOL    $server_protocol;
    fastcgi_param  REQUEST_SCHEME     $scheme;
    fastcgi_param  HTTPS              $https if_not_empty;

    fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
    fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

    fastcgi_param  REMOTE_ADDR        $remote_addr;
    fastcgi_param  REMOTE_PORT        $remote_port;
    fastcgi_param  SERVER_ADDR        $server_addr;
    fastcgi_param  SERVER_PORT        $server_port;
    fastcgi_param  SERVER_NAME        $server_name;

    # PHP only, required if PHP was built with --enable-force-cgi-redirect
    fastcgi_param  REDIRECT_STATUS    200;

    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   php-fpm;
}
9
Felipe Neuhauss

私は同じ問題に遭遇し、AWSドキュメントを誤解していることに気付いて解決しました。

https://docs.aws.Amazon.com/elasticbeanstalk/latest/dg/php-laravel-tutorial.html#php-laravel-tutorial-generate

「LaravelをインストールしてWebサイトを生成する」と表示されている場所

AWSでこれを行うという意味ではありません。これはローカルで行う必要があります。次に、次に説明するソースバンドルを介してAWSにデプロイします。

これを行った後、うまくいきました。

0
wilfra