verdaccio Ошибка: 413 Payload Too Large — объект запроса PUT слишком велик

я использовал Verdaccio, который представляет собой легкий частный реестр прокси-серверов npm, встроенный в Node.js.

когда я публикую свой код в verdaccio, у него всегда возникает ошибка:

введите здесь описание изображения

ключевое слово файла журнала: 15 уведомление === Сведения о архиве === 16 имя уведомления: canwin-viewer3d 16 версия уведомления: 1.0.0 16 уведомление размер пакета: 21,9 МБ 16 уведомление размер в распакованном виде: 50,4 МБ 16 уведомление shasum: 63d555be03e0c7a7b6dcdfb662d29c48b21d8c53 16 целостность уведомления: sha512-KFz0gTPJusdfV[...]VIeII6rrcv4IA== 16 общее количество файлов уведомления: 733 17 уведомление 18 http fetch PUT 413 http://localhost:4873/canwin-viewer3d 677ms 19 подробный стек Ошибка: 413 Payload Too Large - PUT http://localhost:4873/canwin-viewer3d — объект запроса слишком велик подробный стек в processTicksAndRejections (internal/process/task_queues.js:97:5) 20 подробный статусCode 413 21 подробный pkgid [email protected] 22 подробный cwd C:\work\viewer3d 23 подробный Windows_NT 10.0.18363 24 подробный argv C :\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js опубликовать ish 25 подробный узел v13.10.1 26 подробный npm v6.13.7 27 код ошибки E413

кажется, что PUT Quest PayLoad был большим, поэтому я пытаюсь найти файл конфигурации verdaccio, но у меня ничего нет, verdaccio это код, возможно, использует node Express для запуска, как я могу установить размер полезной нагрузки Put?


person ioy    schedule 17.07.2020    source источник


Ответы (1)


Таким образом, обычно вы можете столкнуться с двумя проблемами с ошибками 413.

  • Размер тела Verdaccio по умолчанию составляет 1 МБ, поэтому вам нужно увеличить его на стороне клиента:

npm config set max_body_size 100mb --registry https://<your registry>

  • Если это не сработает, вам может потребоваться увеличить его на стороне сервера, поскольку doc предложить. Добавьте в файл конфигурации следующую строку.

значения.yaml

...

  max_body_size: 100mb

....
  • Если это все еще не работает, то, скорее всего, у вас проблема с вашим прокси.

Если это прокси nginx, вы можете попробовать:

http {
    ...
    client_max_body_size 100M;
} 

или, если это сервер node.js, вы можете использовать bodyParser, как подробно описано в этой теме:

var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
person Ivasan    schedule 14.10.2020