Коротко. Ошибка 525 означает, что TLS-рукопожатие между Cloudflare и вашим origin-сервером не удалось. Cloudflare смог установить TCP-соединение, но не смог договориться о шифровании. Главные причины: на origin'е нет валидного сертификата на 443 проверку портов, режим SSL в Cloudflare выставлен в Full (Strict), а сертификат самоподписанный сертификат или просрочен, либо несовпадение TLS cipher suites 2026. Начните с проверки сертификата origin через openssl.
Что значит 525 и где сбой
525 — это провал именно TLS-handshake, не TCP. Цепочка: браузер ↔ Cloudflare (внешний TLS) и Cloudflare ↔ origin (внутренний TLS). Ошибка 525 — про вторую половину. Cloudflare попытался установить SSL/TLS проверку с вашим сервером и не смог завершить рукопожатие.
525 — это внутренний TLS между Cloudflare и origin. Посетитель видит зелёный замок до Cloudflare, но за кулисами Cloudflare не может безопасно соединиться с вашим сервером.
Главные причины 525
| Причина | Решение |
|---|---|
| На origin нет сертификата на 443 | Установить валидный сертификат (Let's Encrypt или Cloudflare Origin CA) |
| Режим Full (Strict) + самоподписанный/просроченный cert | Поставить доверенный cert или временно Full (не Strict) |
| Несовпадение cipher suites / версий TLS | Включить TLS 1.2/1.3 и современные шифры на origin |
| Origin не слушает 443 | Настроить nginx/Apache на HTTPS |
| SNI не настроен корректно | Проверить server_name и сертификат для нужного хоста |
Шаг 1. Проверьте сертификат origin напрямую
Постучитесь к реальному IP origin'а и посмотрите на TLS-рукопожатие:
# origin = 203.0.113.10, домен example.com
openssl s_client -connect 203.0.113.10:443 -servername example.com
# Смотрите на:
# Verify return code: 0 (ok) — сертификат валиден
# Verify return code: 18 (self signed) — самоподписанный
# "no peer certificate available" — origin не отдаёт cert
# Срок действия сертификата:
echo | openssl s_client -connect 203.0.113.10:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates
# Проверка цепочки и совпадения хоста:
curl -Iv --resolve example.com:443:203.0.113.10 https://example.com
Если openssl показывает «self signed» или «expired», а в Cloudflare режим Full (Strict) — вот и причина 525.
Шаг 2. Проверьте режим SSL в Cloudflare
- Flexible — Cloudflare ↔ origin по HTTP (не вызывает 525, но небезопасно).
- Full — HTTPS до origin, сертификат не проверяется строго (примет самоподписанный).
- Full (Strict) — HTTPS + строгая проверка сертификата (требует доверенный cert).
Если на origin самоподписанный сертификат, режим Full (Strict) даст 525. Либо поставьте доверенный сертификат, либо временно переключите на Full — но Strict безопаснее, поэтому правильное решение — валидный cert.
Шаг 3. Поставьте Cloudflare Origin CA
Самый чистый путь — бесплатный сертификат Cloudflare Origin CA для связи Cloudflare↔origin:
- В панели Cloudflare: SSL/TLS → Origin Server → Create Certificate.
- Установите выданный cert и key на nginx/Apache.
- Включите режим Full (Strict).
- Перезапустите веб-сервер и проверьте через openssl.
Шаг 4. Проверьте версии TLS и шифры
Если origin поддерживает только устаревшие TLS 1.0/1.1, рукопожатие может не состояться. Включите TLS 1.2 и 1.3:
# nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
Как enterno.io помогает
SSL-инспектор enterno.io показывает цепочку сертификатов, срок действия, протокол и шифры origin'а — это сразу выявляет просроченный или несовпадающий cert, который вызывает 525. SSL-мониторинг с порогами предупреждения за 14 дней и критики за 3 дня до истечения шлёт алерт раньше, чем сертификат протухнет. HTTP-чекер проверяет, доступен ли origin отдельно от Cloudflare. Алерты: Telegram, Slack, email, webhook. enterno.io диагностирует и предупреждает — сертификат и режим Cloudflare настраивает владелец.
FAQ
Чем 525 отличается от 526?
526 (Invalid SSL Certificate) — сертификат origin'а невалиден при Strict-проверке. 525 — рукопожатие вообще не завершилось. Часто причины пересекаются: просроченный cert при Full (Strict).
Почему посетитель видит замок, но сайт не грузится?
Замок — это TLS браузер↔Cloudflare. 525 — это сбой Cloudflare↔origin, скрытый от посетителя.
Можно ли быстро убрать 525?
Временно — переключить режим SSL на Full (не Strict). Правильно — поставить валидный сертификат на origin и вернуть Full (Strict).
Cloudflare Origin CA подходит вместо Let's Encrypt?
Да, для трафика Cloudflare↔origin он идеален и бесплатен. Но он доверенный только внутри Cloudflare — для прямого доступа к origin нужен публичный cert.
Следующий шаг: Проверьте сертификат через SSL-инспектор. См. также мониторинг SSL-сертификатов и настройте SSL-мониторинг.