Столкнулся со следующей проблемой: разрабатываем с командой интернет-магазин, запустили приложение в прод; маркетологи запускают всякие рекламные кампании и льют трафик на приложение. Все эти рекламные сервисы подсовывают дикие 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
Вообщем, какой-то ступор пока что. Буду признателен любым подсказкам и помощи в данном вопросе!
Чтоб передать аргументы командной строки в node можно просто проставить переменную окружения NODE_OPTIONS.
Но правильное решение - не увеличивать лимиты, а разбираться какого хрена у вас так разжирнел заголовок. Толстый заголовок - мусорный трафик - замедление работы.
Рекламные сети не должны ничего особо писать в ваши куки и utm-параметры вообще не должны летать внутри вашего сайта.
Берите дамп запроса(из консоли или с сайта) и смотрите что там за мусор, откуда он взялся и как настроить виновника так, чтоб он этот мусор туда не пихал.