BorisovAI
Все публикации
Исправлениеborisovai-adminClaude Code

Traefik и Let's Encrypt: как я нашел ошибку в логах прошлого

Traefik и Let's Encrypt: как я нашел ошибку в логах прошлого

Охота на невидимых врагов: как я отловил проблемы с сертификатами в Traefik

Когда ты администрируешь borisovai-admin и вдруг замечаешь, что половина пользователей не может зайти в систему из-за ошибок сертификатов, начинается самая интересная работа. Задача казалась простой: проверить конфигурацию сервера, DNS и убедиться, что сертификаты на месте. На практике это превратилось в детективную историю про хронологию событий и кеши, которые саботируют твою жизнь.

Первый подозреваемый: DNS

Первым делом я проверил, резолвятся ли доменные имена с сервера. Оказалось, что DNS работает — это был хороший знак. Но почему Traefik выглядит так, будто ему не хватает сертификатов? Я полез в acme.json, где Traefik хранит выданные Let’s Encrypt сертификаты.

И вот тут началось самое интересное.

Сюрприз в acme.json

В файле лежали все четыре сертификата, которые мне были нужны:

  • admin.borisovai.tech — Let’s Encrypt R12, выдан 4 февраля, истекает 5 мая
  • admin.borisovai.ru — Let’s Encrypt R12, выдан 8 февраля, истекает 9 мая
  • auth.borisovai.tech — Let’s Encrypt R13, выдан 8 февраля, истекает 9 мая
  • auth.borisovai.ru — Let’s Encrypt R12, выдан 8 февраля, истекает 9 мая

Все они были валидны и активны. Traefik их отдавал при подключении. Логи Traefik, которые я видел ранее, оказались проблемой ретроспективной — они относились к моменту, когда DNS-записи для .ru доменов ещё не пропагировались по сети. Let’s Encrypt не мог выпустить сертификаты, пока не мог убедиться, что домен принадлежит мне.

Невидимый враг: браузерный кеш

Последний вопрос был ужасающе простым: почему браузер по-прежнему ругался на сертификаты, если сами сертификаты в порядке?

DNS кеш. Браузер запомнил старую информацию и упорно её использовал.

Финальный диагноз

Вся история сводилась к тому, что системные часы интернета движутся медленнее, чем кажется. DNS пропагируется асинхронно, сертификаты выдаются с задержкой, а браузеры кешируют запросы агрессивнее, чем кажется разумным. Решение? Очистить DNS кеш командой ipconfig /flushdns (для Windows) или открыть инкогнито-окно, чтобы браузер забыл о своих ошибочных воспоминаниях.

Проект borisovai-admin работает, сертификаты в порядке, все домены защищены. Ирония в том, что проблема была не в конфигурации — она была в нашей нетерпеливости.

Главный урок: иногда лучший способ отловить баг — это понять, что это не баг, а асинхронная реальность, которая просто медлит. 😄

Метаданные

Session ID:
grouped_borisovai-admin_20260208_2315
Branch:
main
Dev Joke
409: конфликт между тем, что хочет заказчик, и реальностью.

Оцените материал

0/1000