Laravel on AWS with SSL - 404 Not Found errors



我有一个laravel项目,我试图在AWS Elasticbeanstalk上运行-我上传了项目并使用HTTP 100%工作,客户端决定他们想要SSL,当我上传完全相同的源代码时,我的着陆页面工作完美(https://sitename/),但是任何其他页面如https://sitename/login根本不起作用,我收到404 not Found errors消息。

我得到的输出如下(除了最后一节给它上下文,我把ip地址归零):

2022/05/25 03:51:46 [error] 7872#7872: *21072 open() "/var/www/html/public/login" failed (2: No such file or directory), client: 000.00.00.164, server: , request: "GET /login HTTP/1.1", host: "00.000.000.113"
2022/05/25 03:57:03 [error] 7871#7871: *21210 open() "/var/www/html/public/_debugbar/assets/javascript" failed (2: No such file or directory), client: 000.00.00.164, server: , request: "GET /_debugbar/assets/javascript?v=1644364352 HTTP/1.1", host: "portal.sitename", referrer: "https://portal.sitename/"
2022/05/25 03:57:03 [error] 7872#7872: *21209 open() "/var/www/html/public/_debugbar/assets/stylesheets" failed (2: No such file or directory), client: 000.00.00.164, server: , request: "GET /_debugbar/assets/stylesheets?v=1644364352&theme=auto HTTP/1.1", host: "portal.sitename", referrer: "https://portal.sitename/"
2022/05/25 04:01:26 [error] 7872#7872: *21313 open() "/var/www/html/public/ReportServer" failed (2: No such file or directory), client: 000.00.00.193, server: , request: "GET /ReportServer HTTP/1.1", host: "13.244.47.136"
2022/05/25 04:01:39 [error] 7872#7872: *21320 open() "/var/www/html/public/ReportServer" failed (2: No such file or directory), client: 000.00.00.164, server: , request: "GET /ReportServer HTTP/1.1", host: "00.000.000.113"
2022/05/25 04:08:15 [error] 7872#7872: *21477 open() "/var/www/html/public/login" failed (2: No such file or directory), client: 000.00.00.193, server: , request: "POST /login HTTP/1.1", host: "portal.sitename", referrer: "https://portal.sitename/"

这是因为您的服务器不接受url中的查询字符串。为了解决这个问题,您应该添加另一个名为.platform的文件夹并遵循larvel .conf中的文本文件如下所示。这将被修复请确保您使用nginx作为服务器从弹性benstalk配置

。平台配置

laravel.conf文件
location / {
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
}

laravel与beanstalk的结合有相关的文档。

您的问题是由web服务器在错误的目录中搜索文件引起的。您选择PHP作为平台吗?您是否已将文档根设置为/public?

感谢所有人的帮助,对于任何人遵循这是我所做的解决:

cd  /etc/nginx/conf.d/elasticbeanstalk
nano laravel.conf

添加了以下代码:

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

最新更新