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