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

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

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

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

Войти через центр авторизации
Похожие вопросы