У меня есть приложение реагирования во фронтэнде и node js бэкэнд. Я отправляю аутентификационный заголовок на сервер с размером более 8 Кбайт и получаю
http://localhost:3050/api/sellers 431 (Request Header Fields Too Large)
Я пробовал разные вещи, сначала добавив node --max-http-header-size=150000
, который был рекомендован везде, где я искал, проблемы с GitHub и переполнение стека.
Итак, я добавил его в свой пакет. json файл вот так.
"start": "npm run db:update && node --max-http-header-size=150000000 src/server.js",
"dev": "npm run db:update && nodemon --max-http-header-size=150000000 --watch src --watch package.json --inspect=0.0.0.0:9229 src/server.js",
Когда я запускаю контейнер docker, я вижу
api | [nodemon] 1.19.4
api | [nodemon] reading config ./package.json
api | [nodemon] to restart at any time, enter `rs`
api | [nodemon] or send SIGHUP to 71 to restart
api | [nodemon] watching dir(s): src/**/* package.json
api | [nodemon] watching extensions: js,mjs,json
api | [nodemon] starting `node --max-http-header-size=150000000 --inspect=0.0.0.0:9229 src/server.js`
api | [nodemon] spawning
api | [nodemon] child pid: 84
Так что все хорошо, но когда я go реагирую на мой клиент приложения и пу sh запрос. Я все еще получаю 431
При необходимости код выглядит следующим образом:
fetch(
'/api/sellers', {
method: 'GET',
headers: {
'authorization': 'Bearer ' + localStorage.getItem('token'),
},
}
)
* localStorage.getItem('token')
- это то, откуда возникает проблема из-за большого токена. Кодовая база действительно старая и очень грязная, поэтому я хотел бы исправить ее извне, вроде бы борясь с этим в течение последних нескольких дней.
Я также обновился с NODE -6 до 11, что позволяет --max-http-header-size
И теперь нет вариантов, и да, я искал несколько способов.