Рейтинг:3

Изменение Nginx NGX_CONF_BUFFER

флаг pw

При попытке установить переменные с длинными символами в Nginx отображается ошибка из-за ограничения в NGX_CONF_BUFFER 4096. Справка: https://github.com/nginx/nginx/blob/master/src/core/ngx_conf_file.c

var set: set $q 'aaaaa........до 5000 символов, включая пробелы'; ошибка: слишком длинный параметр, возможно, отсутствует завершающий "'"

безопасно ли изменить NGX_CONF_BUFFER на 8192 0r 10240 перед компиляцией Nginx, чтобы избежать такой ошибки?

Michael Hampton avatar
флаг cz
Будь осторожен. Вам _действительно_ нужна переменная такой длины?
флаг us
Думаю, на это могут ответить только разработчики nginx. Также может быть, что даже они не могут ответить. Какую реальную проблему вы пытаетесь решить?
флаг pw
Нам нужно добавить html-страницу и вернуть ее со статусом 200 в nginx, но длина html-кода выше 4096, этот html включает некоторые переменные nginx, поэтому nginx печатает переменные в html и отправляет их в браузер. Есть ли альтернативный метод для обслуживания html-контента, который включает переменные nginx?
Рейтинг:1
флаг cn

Как предположил Майкл, вам, вероятно, не нужна переменная такой длины.NGX_CONF_BUFFER определяет максимальную длину строки в файле nginx.conf. Вам действительно не нужно определять переменную конфигурации с таким большим количеством данных. Файлы конфигурации должны быть связаны с конечными точками, заголовками, типами контента и т. д., другими словами, с метаданными.

В вашем случае для обслуживания динамического контента, управляемого NGINX, вы можете рассмотреть возможность использования NGINX Javascript или NJS, см. https://nginx.org/en/docs/njs/ - увидеть больше примеров и начать работу здесь: https://github.com/nginx/njs-примеры.

Ответить или комментировать

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