Как установить разрешенную длину URL-адреса для запроса nginx (код ошибки:414, ури слишком большой)

StackOverflow https://stackoverflow.com/questions/1067334

  •  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;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top