Как установить разрешенную длину URL-адреса для запроса nginx (код ошибки:414, ури слишком большой)
-
21-08-2019 - |
Вопрос
Я использую Nginx перед 10 дворнягами.
Когда я делаю запрос размером больше 2900, я получаю обратно:
код ошибки 414:ури слишком большой
Кто-нибудь знает параметр в файле конфигурации nginx, который определяет разрешенную длину uri?
Решение
От: http://nginx.org/r/large_client_header_buffers
Синтаксис:
large_client_header_buffers
number
size
;
По умолчанию:large_client_header_buffers 4 8k;
Контекст: http, серверУстанавливает максимум
number
иsize
буферов, используемых для чтения большого заголовка клиентского запроса.Строка запроса не может превышать размер одного буфера, иначе клиенту будет возвращена ошибка 414 (Request-URI Too Large).Поле заголовка запроса также не может превышать размер одного буфера, иначе клиенту будет возвращена ошибка 400 (Bad Request).Буферы выделяются только по требованию.По умолчанию размер буфера равен 8 КБ.Если после окончания обработки запроса соединение переходит в состояние поддержания активности, эти буферы освобождаются.
поэтому вам нужно изменить параметр размера в конце этой строки на что-то большее для ваших нужд.
Другие советы
Для тех, у кого проблемы с этим на https://forge.laravel.com, Мне удалось заставить это работать, используя компиляцию SO-ответов;
Вам понадобится пароль sudo.
sudo nano /etc/nginx/conf.d/uploads.conf
Замените содержимое следующим:
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
client_max_body_size 24M;
client_body_buffer_size 128k;
client_header_buffer_size 5120k;
large_client_header_buffers 16 5120k;