Как настроить Nginx + php для корректной ошибки «413 Request Entity Too Large»?

Все это делаю в docker

Грубо говоря, в php.ini указала

post_max_size = 1M
upload_max_filesize = 1M


в nginx-local.conf

client_max_body_size 2m;

Разные - нет ошибки. Это эксперименты)

В итоге, когда файл больше, чем указано в nginx - то получаю ошибку в nginx
<html>
    <head>
        <title>413 Request Entity Too Large</title>
    </head>
    <body>
        <center>
            <h1>413 Request Entity Too Large</h1>
        </center>
        <hr>
        <center>nginx/1.17.5</center>
    </body>
</html>

А хочется php error

Что с этим делать? Только указывать какой-то очень большой размер в nginx типа 1G
а в php.ini - настоящие ограничения - типа 20MB или есть другой путь?

Docker,  nginx, php - все перезапущено и проверено - настройки примерились.
  • Вопрос задан
  • 2619 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Jewish_Cat
Увлекаюсь C#
Ну так сначала идет обращение к nginx. Он обрабатывает входящий запрос и смотрит по своим фильтрам. Поэтому если вы грузите больше разрешенного файла, то сначала nginx выдаст ошибку, а до php этот файл(или что там грузите) не дойдет. Nginx это же прокси-сервер(грубо говоря)
Советую не ставить 1гб в nginx, иначе будет плохо.
Ответ написан
Комментировать
bigton
@bigton
Web-программист
Смотрите найстройку NGINX proxy_intercept_errors
Ответ написан
Комментировать
IgorPI
@IgorPI
server {
    ...
    client_max_body_size 32m;
    ...
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы