AWS Elastic Beanstalk在nginx服务器上应用配置文件



我正试图在ebs中迁移我的应用程序,因为它已被弃用,我以前的平台是:

PHP 5.6在64位Amazon Linux/2.98 上运行

现在我要迁移到:

PHP 7.4在64位Amazon Linux 2/3.0.3 上运行

该平台使用Nginx服务器而不是Apache。

我能够部署我的应用程序,但问题是我的.htaccess配置文件和我的.eextensions配置文件一样被弃用。所以我失去了我的设置,例如从http到https的干净URL和重定向。

我试图通过放置相应的配置文件将apache配置转换为Nginx,但显然没有效果。

我已经尝试了许多测试配置,我得出的结论是平台没有读取我放置的配置。

例如,我尝试过用这个小配置来尝试,它应该允许我列出";视图";目录:

cleanurl.config

server {
location / views / {
autoindex on;
}
}

我试着把它放在下面的文件夹里。

&";。ebextensions/cleanurl.config";

files:
"/etc/nginx/conf.d/cleanurl.conf":
mode: "000644"
owner: root
group: root
content: |
server {
location / views / {
autoindex on;
}
}

&";。platform/nginx/conf.d/cleanurl.config";

server {
location / views / {
autoindex on;
}
}

但我没有结果。当我指向一个文件夹时,我总是得到403 Forbidden。请帮忙。

提前感谢

经过一次又一次的尝试,我能够用以下方式解决它:

  • 我把文件放在这个位置
.platform/nginx/conf.d/elasticbeanstalk/cleanurl.conf
  • 这样更改我的配置文件
location/views/ {
autoindex on;
}

现在一切都正常了。

我尝试了许多测试配置,得出的结论是平台没有读取我放置的配置。

在第一种情况下,这是因为您使用的配置文件用于AmazonLinux1(AL1(。但是,您的环境是运行在64位AmazonLinux2(AL2(上的PHP7.4。

在第二次尝试中,您应该使用.platform/nginx/conf.d/中的配置文件。但是,您使用的是*.config扩展名。这个错误的扩展,它应该是:

cleanurl.conf

您可能还有其他问题,但错误的扩展名可以解释为什么文件被忽略

最新更新