Как расширить nginx конфиг в elasti c beanstalk (Amazon Linux 2) - PullRequest
0 голосов
/ 21 апреля 2020

Я последовал совету здесь , чтобы настроить nginx обратный прокси-сервер так, чтобы разрешать файлы размером больше 1 МБ по умолчанию. Итак, мой код в /.platform/nginx/conf.d/prod.conf выглядит следующим образом:

http {
  client_max_body_size 30M;
}

Однако, похоже, это не имеет никакого эффекта, и nginx по-прежнему регистрирует ошибку, когда я пытаюсь загрузить файл размером более 1 МБ.

Я также пытался сделать это без http и скобок, как подробно описано в принятом ответе на этот вопрос , например:

client_max_body_size 30M;

Это также имело без эффекта.

Я подумал, что может потребоваться перезапустить nginx после применения конфигурации, поэтому я добавил в каталог .ebextensions файл с именем 01nginx.config, который выглядит следующим образом:

commands:
  01_reload_nginx: 
    command: "sudo service nginx reload"

Это также не имело никакого эффекта.

Я видел этот вопрос и вышеупомянутый вопрос, а также этот . Однако все они кажутся либо устаревшими, либо неприменимыми к экземпляру Amazon Linux 2, поскольку ни один из них не упоминает каталог .platform из упомянутой выше документации elasti c beanstalk. В любом случае, ни один из их ответов до сих пор не работал для меня. Итак, что мне не хватает?

1 Ответ

0 голосов
/ 21 апреля 2020

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

Добавить файл в каталог .ebextenstions с именем 01_reverse_proxy.config (имя не имеет значения, я думаю, только часть .config )

В этот файл поместите именно это:

files:
  "/etc/nginx/conf.d/proxy.conf" :
  mode: "000755"
  owner: root
  group: root
  content: |
    client_max_body_size 30M;
commands:
  01_reload_nginx:
    command: "service nginx reload"

с правильным интервалом YAML. Это решает проблему в стеке, включая Rails, Puma и Amazon Linux 2.11.4. Это НЕ способ, описанный в документации elasti c beanstalk linux платформы .

...