Nginx服务器上的AWS Elastic Beanstalk Apply配置文件

时间:2020-07-10 03:59:18

标签: php nginx amazon-elastic-beanstalk

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

在64位Amazon Linux / 2.9.8上运行的PHP 5.6

现在我要迁移到:

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

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

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

我试图通过放置相应的配置文件将apache配置转换为Nginx,但是显然它们没有作用。

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

例如,我尝试使用这种小的配置进行尝试,这应该允许我列出“ views”目录:

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。请帮忙。

预先感谢

2 个答案:

答案 0 :(得分:1)

尝试之后,我可以通过以下方式解决该问题:

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

现在一切正常。

答案 1 :(得分:0)

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

在第一种情况下,这是因为您使用的配置文件用于 Amazon Linux 1 (AL1)。但是,您的环境是运行在64位 Amazon Linux 2 (AL2)上的PHP 7.4。

第二次尝试时,您应该在.platform/nginx/conf.d/中使用the config files。但是,您正在使用*.config扩展名。此错误的扩展名及其should be

cleanurl.conf

您仍然可能还有其他问题,但是扩展名错误可以解释为什么忽略这些文件。

相关问题