Почему мой лимит загрузки 100 МБ? Он установлен на 500 МБ

Я работаю над этим уже 4 дня, но как бы я ни настраивал, не могу загрузить видео больше 100 МБ. Каждый раз получаю сообщение, что файл превышает лимит в 500 МБ.

Просто из любопытства спрашиваю: что произойдёт, если установить значение 0 вместо 500 м?

Имею в виду именно 0, а не 0 м.

Я попробую сейчас.

Означает ли лишний пробел перед точкой с запятой что-то особенное?


На этот раз я установил значение 0, затем на странице администратора указал 1000 МБ и пересобрал приложение. Загрузил видео размером 101 МБ, но система по-прежнему сообщает, что оно превышает 1000 МБ.

Я удалил пробел.

Теперь проблема в том, что видеофайлы размером более 100 МБ не загружаются.
Хотя настройки файлов в Discourse уже установлены на 1000 МБ, внутренняя логика на самом деле всё ещё ограничена максимальным значением для изображений…

Ребята, проверьте свой сайт: установите для остальных размеров вложений значение 1 ГБ и попробуйте загрузить видео размером 101 МБ, чтобы убедиться, что загрузка проходит успешно.

У вас стандартная установка и нет обратного прокси?

Это стандартная установка, другой обратный прокси не используется.
Проблема заключается в том, что размер других вложений также ограничен размером изображения.

Так что если вы увеличите максимальный размер изображения, сможете ли загружать более крупные видео?

Нет, этот лимит в 102400 КБ установлен системой Discourse. Я не менял размер изображения — он по-прежнему составляет стандартные 4096 КБ. Я уже установил размер для своих других вложений на 500 МБ, и это работает, но при загрузке видео оно всё равно ограничивается максимальным размером изображения.

Так что я бы хотел, чтобы вы попробовали и проверили, есть ли в Discourse какая-то ошибка.

Я вижу, что это общая ошибка, возникающая, когда веб-сервер не может обработать размер загружаемых данных.

Кажется, хорошей идеей будет использовать client_max_body_size 0;, но был ли nginx полностью перезапущен?

Я бы убедился, что параметр upload_size установлен в 0, и пересобрал приложение, чтобы сбросить любые изменения.

Если вы планируете работать с большими файлами, вам необходимо настроить прямую загрузку в S3. Для этого в настройках сайта нужно включить параметр enable_direct_s3_uploads.

Я пробовал включать и выключать S3, но не могу загрузить файлы размером более 100 МБ.

Я попытался удалить Discourse и переустановить его, чтобы восстановить данные. Всё равно не могу загружать файлы размером более 100 МБ.

Вышеуказанный параметр включен?

Я настроил это так, чтобы даже небольшие файлы могли синхронизироваться с S3.

Где я могу это настроить? Я могу загружать большие файлы, но они локальные и не синхронизируются с S3.

Это скрытая настройка, откройте консоль Rails

cd /var/discourse/
./launcher enter app
rails c

и выполните

SiteSetting.enable_direct_s3_uploads = true