Files
drhider/History/infra/2026-08-24-gitea-cert-transient.md
T

2.2 KiB

Временный сбой сертификата 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 в этот день.