AWS Elasti c Beanstalk Применить файл конфигурации на сервере nginx - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь перенести свое приложение в ebs, потому что оно устарело, моя предыдущая платформа была:

PHP 5.6, работающая на 64-битной Amazon Linux / 2.9.8

сейчас Я перехожу на:

PHP 7.4 на 64-битной Amazon Linux 2 / 3.0.3

Эта платформа использует сервер 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 голосов
/ 14 июля 2020

После нескольких попыток я смог решить эту проблему следующим образом:

  • Я поместил файл в это место
.platform/nginx/conf.d/elasticbeanstalk/cleanurl.conf
  • изменить мой файл конфигурации вроде этого
location/views/ {
   autoindex on;
}

и теперь все работает.

0 голосов
/ 10 июля 2020

Я перепробовал множество тестовых конфигураций и пришел к выводу, что платформа не считывает конфигурации, которые я поместил.

В первом случае это связано с тем, что файлы конфигурации которые вы используете для Amazon Linux 1 (AL1). Однако ваша среда: PHP 7.4, работающая на 64-битной Amazon Linux 2 (AL2).

Во второй попытке вы используете файлы конфигурации в .platform/nginx/conf.d/ как надо. Однако вы используете расширение *.config. Это неправильное расширение , а должно быть :

cleanurl.conf

У вас все еще могут быть другие проблемы, но неправильное расширение может объяснить, почему файлы игнорируется .

...