NPM: troubleshooting disk-full LXC 103 (git push 500), защита логов
Корень падения git push по HTTPS: диск NPM 100% забит логами host-22 (trust_forwarded_proto warning флуд). Truncate + cron npm-log-cap (>200M). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -120,3 +120,15 @@ location /.well-known/matrix/client {
|
||||
## SSL-сертификаты
|
||||
|
||||
Большинство сертификатов выданы через Let's Encrypt с email `it5870@yandex.ru`.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### git push даёт HTTP 500 / API NPM 502 → диск LXC 103 переполнен (2026-06-28)
|
||||
**Симптом:** `git push` на git.dttb.ru → `RPC failed; HTTP 500`, при этом GET'ы проксируются (200); админ-API NPM (:81) → 502.
|
||||
**Корень:** диск LXC 103 (NPM) был **100% забит** → nginx не может буферизировать тело POST (push) на диск, node-app не пишет → 500/502. GET'ы маленькие, проходят.
|
||||
**Что забило:** логи прокси-хоста 22 (`git.dttb.ru`): `proxy-host-22_access.log` 601M + `error.log` 568M. error.log флудит варнинг NPM `using uninitialized "trust_forwarded_proto" variable` на каждый запрос (баг NPM), диск всего 7.8G.
|
||||
**Фикс:** truncate логов (`: > файл`, не rm — nginx держит хэндл) → освободилось ~1.2G. Защита от повтора: `/usr/local/bin/npm-log-cap.sh` + cron `/etc/cron.d/npm-log-cap` (hourly, обрезает любой NPM-лог > 200M до последних 10M in-place).
|
||||
**Обход на время диск-фула:** push напрямую в Gitea минуя NPM — SSH-туннель `ssh -L 3000:10.0.0.189:3000 root@10.0.0.250`, затем `git push http://oleg:***@localhost:3000/oleg/knowledge-base.git`.
|
||||
**Остаётся (корень):** варнинг trust_forwarded_proto (обновить NPM) и/или вырастить диск 7.8G (`pct resize 103 rootfs +8G`).
|
||||
|
||||
Reference in New Issue
Block a user