diff --git a/History/infra/2026-08-24-gitea-cert-transient.md b/History/infra/2026-08-24-gitea-cert-transient.md new file mode 100644 index 0000000..8cdda62 --- /dev/null +++ b/History/infra/2026-08-24-gitea-cert-transient.md @@ -0,0 +1,29 @@ +# Временный сбой сертификата gitea и push (2026-08-24) + +_infra. Прецедент, чтобы не терять время в следующий раз._ + +## Симптом +`git push origin master` к `gitea.services.ngcloud.ru` падал: +``` +SSL: certificate subject name (*.ngcloud.ru) does not match target host name 'gitea.services.ngcloud.ru' +``` +При этом в браузере `https://gitea.services.ngcloud.ru/Nail/drhider.git` открывался. + +## Диагностика +- `gitea.services.ngcloud.ru` → `194.31.9.41` (стабильно, и с машины, и с ВМ). +- На `194.31.9.41:443` отдавался **wildcard `*.ngcloud.ru`** (SAN: `*.ngcloud.ru, ngcloud.ru`), + который НЕ покрывает `gitea.services.ngcloud.ru` (два уровня: `services.ngcloud.ru`). +- Внутренний ClusterIP `10.96.52.11` (gitea.mgmt.nubes.ru, hosts ВМ) недоступен ни с машины, ни с ВМ. +- На ВМ git-настроек нет (нет sslVerify=false), `credential.helper=store`. + +## Итог +Проблема была **на стороне gitea/ngcloud.ru** — временно отдавался неверный (wildcard) сертификат. +Через ~10-20 минут сертификат вернулся корректным (`CN = gitea.services.ngcloud.ru`, +SAN `DNS:gitea.services.ngcloud.ru`) → `git push` прошёл (`0479afb..e31476e`). + +## Урок +- Если push к gitea падает по SSL «*.ngcloud.ru doesn't match» — это временный сбой сертификата + на стороне gitea (не код). Проверить: `echo | openssl s_client -connect gitea.services.ngcloud.ru:443 -servername gitea.services.ngcloud.ru | openssl x509 -noout -subject -ext subjectAltName`. +- Не менять git config (`sslVerify=false`) и не синкать на ВМ — подождать и повторить push. +- Аналогичный сбой DNS был у `contracts.kube5s.ru` в 18:42 (см. `2026-08-24-pull-dns-transient.md`) — + вероятно, общее инфраструктурное происшествие ngcloud.ru в этот день.