Как побороть 431-ю ошибку в nuxt-приложении?

Столкнулся со следующей проблемой: разрабатываем с командой интернет-магазин, запустили приложение в прод; маркетологи запускают всякие рекламные кампании и льют трафик на приложение. Все эти рекламные сервисы подсовывают дикие utm-метки в query-параметры и сетят хреналион кук. Наше приложение, разумеется, стоит за nginx, и на nginx подняли лимиты для заголовков до конских размеров, это есть. Но сам нодовский сервак имеет по умолчанию ограничения на заголовки в 8КБ (16КБ, зависит от версии ноды). И приложение отваливает с 431-й ошибкой. Сначала я грешил на nging. А потом на локалке воспроизвел ошибку нагенерив несколько сотен кук. Думал еще может PM2 хрень какую-то делает, но нет, это нода, сомнений нет. И теперь вопрос встал ребром: писать ли свой сервер нодовский под nuxt с билдером и гибко настраивать через него все или же есть какой-то вариант этого избежать и средствами nuxt пофиксить проблему? Всегда же лучше меньше кода, чем больше, так как это все нам еще поддерживать придется.)

И еще: ситуация слегка осложняется тем, что мы используем связку nuxt + typescript. То есть какие-то классические решения на express не заходят.

Знаю, что в ноде есть консольный параметр --max-http-header-size, но просто так им, как понимаю, с nuxt не воспользоваться. Нужно именно запускать что-то вроде этого:

node --max-http-header-size=1500 server

Вообщем, какой-то ступор пока что. Буду признателен любым подсказкам и помощи в данном вопросе!


Ответы (1 шт):

Автор решения: Максим Ульянов

короче, решение просто, как пробка, но до него еще нужно дойти)

NODE_OPTIONS='--max-http-header-size=<нужный максимум в байтах>'

любой параметр для ноды можно прокинуть через NODE_OPTIONS, подробнее тут (там полный список доступных консольных параметров) - https://nodejs.org/api/cli.html#cli_node_options_options

→ Ссылка