Как побороть 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

Вообщем, какой-то ступор пока что. Буду признателен любым подсказкам и помощи в данном вопросе!
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
Aetae
@Aetae
Тлен
Чтоб передать аргументы командной строки в node можно просто проставить переменную окружения NODE_OPTIONS.

Но правильное решение - не увеличивать лимиты, а разбираться какого хрена у вас так разжирнел заголовок. Толстый заголовок - мусорный трафик - замедление работы.
Рекламные сети не должны ничего особо писать в ваши куки и utm-параметры вообще не должны летать внутри вашего сайта.
Берите дамп запроса(из консоли или с сайта) и смотрите что там за мусор, откуда он взялся и как настроить виновника так, чтоб он этот мусор туда не пихал.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Abistep Пенза
от 120 000 до 180 000 ₽
от 150 000 до 250 000 ₽
Acme Crypto Corp Нижний Новгород
от 90 000 до 150 000 ₽