kodnado.ru/articles

Статьи

Короткие разборы по сайтам, ботам, скриптам, серверу и автоматизации. Без академичности: только то, что помогает быстрее понять задачу и принять решение.

799 материаловРазборы по сайтам, ботам, API, серверам и автоматизации

GraphQL subscription теряет соединение после обновления токена

Как исправить разрыв GraphQL subscription после refresh token: connectionParams, переподключение WebSocket, гонки, keepalive и повторная подписка.

GraphQL, subscription, WebSocket, refresh token, авторизация, reconnect Читать статью →

Webhook потерялся и данные не синхронизировались: надежная доставка

Как восстановить потерянный webhook и сделать синхронизацию надежной: журнал событий, retries, подпись, idempotency, очередь, reconciliation и DLQ.

webhook, синхронизация, retry, idempotency, очередь, API Читать статью →

Повторная обработка создает дубли заказов: идемпотентность очереди

Как убрать дубли заказов при retry RabbitMQ, Kafka или Redis Streams: idempotency key, уникальный индекс, транзакции, outbox и подтверждение сообщений.

очереди, идемпотентность, дубли заказов, RabbitMQ, Kafka, retry Читать статью →

Self-hosted runner недоступен после перезагрузки: восстановление CI/CD

Почему self-hosted runner не стартует после reboot: systemd-служба, пользователь, рабочий каталог, токен, сеть, Docker и автоматический запуск.

self-hosted runner, CI/CD, GitHub Actions, GitLab Runner, systemd, деплой Читать статью →

Локально код работает, а в Cloud Function падает: как найти причину

Диагностика cloud function: runtime, entrypoint, зависимости, переменные окружения, права IAM, timeout, память, файловая система и сетевой доступ.

Cloud Functions, serverless, runtime, IAM, деплой, логи Читать статью →

Обратный DNS не совпадает с именем почтового сервера: настройка PTR

Как согласовать PTR, A-запись, HELO/EHLO, SPF, DKIM и почтовое имя сервера, чтобы письма не отклонялись и не попадали в спам.

PTR, reverse DNS, почтовый сервер, HELO, SPF, DKIM Читать статью →

GCLID теряется до оформления заказа: как сохранить атрибуцию

Как сохранить GCLID от рекламного клика до заказа: URL, cookie, localStorage, backend-сессия, переходы между доменами, согласие и офлайн-конверсии.

GCLID, Google Ads, атрибуция, конверсии, аналитика, заказы Читать статью →

После сброса пароля старый пароль работает: как исправить авторизацию

Почему старый пароль остается действительным после сброса: кеш, несколько хешей, реплика БД, SSO, активные сессии и корректная инвалидация доступа.

сброс пароля, авторизация, сессии, безопасность, кэш, SSO Читать статью →

Пользователь получает OTP-код для чужого номера: причины и исправление

Как устранить отправку SMS-кода не тому пользователю: нормализация номера, привязка challenge, очереди, идемпотентность, кэш и аудит OTP.

OTP, SMS-код, авторизация, номер телефона, безопасность, очереди Читать статью →

После входа пользователь попадает в чужую организацию: как закрыть утечку

Что делать при нарушении tenant isolation: проверка SSO, session, organization_id, кеша, запросов, ролей и безопасное исправление доступа к чужим данным.

SSO, multi-tenant, авторизация, изоляция данных, безопасность, сессии Читать статью →

Xray REALITY не проходит handshake: что проверить в конфигурации

Диагностика handshake в Xray REALITY: время, ключи, shortId, serverName, flow, transport, firewall, маршрутизация и журналы клиента и сервера.

Xray, REALITY, VLESS, handshake, VPN, сеть Читать статью →

Ошибка SSL handshake: как диагностировать сертификат, TLS и прокси

Что проверить при ошибке SSL handshake: цепочку сертификатов, SNI, домен, время, TLS, cipher suites, reverse proxy, CDN и клиентское доверие.

SSL, TLS, handshake, сертификат, Nginx, HTTPS Читать статью →