Что такое ошибка 525
Ошибка 525 — это код состояния, который возвращает Cloudflare, когда не может завершить SSL-рукопожатие (handshake) с вашим исходным веб-сервером. Полное название: SSL handshake failed.
Важно: эта ошибка появляется только при активном проксировании Cloudflare (оранжевое облачко в DNS-записи). Если Cloudflare отключён (серое облачко), запросы идут напрямую к серверу, и ошибки 525 не будет.

Схема SSL handshake между Cloudflare и веб-сервером с точкой отказа
Основные причины
- Просроченный или недействительный SSL-сертификат на сервере. Cloudflare проверяет срок действия и цепочку доверия.
- Некорректная конфигурация SSL на сервере: неверные пути к файлам сертификата и приватного ключа, отсутствие промежуточных сертификатов.
- Сервер не принимает соединения на порту 443 или брандмауэр блокирует этот порт.
- Несовместимые протоколы TLS или шифры. Cloudflare требует поддержки TLS 1.2 и выше. Если сервер настроен только на старые протоколы (SSLv3, TLS 1.0) или слабые шифры, handshake завершится ошибкой.
- Сервер перегружен или временно недоступен для Cloudflare.
- Блокировка запросов от Cloudflare межсетевым экраном (WAF) или другим ПО безопасности на сервере.
Как исправить ошибку 525
Проверьте SSL-сертификат
Убедитесь, что сертификат действителен и содержит полную цепочку (корневой + промежуточный). Проверить можно через:
# Проверка срока действия и цепочки (замените путь)
openssl x509 -in /etc/ssl/certs/your-certificate.crt -text -noout | grep -A 1 "Validity"
Или используйте бесплатный сервис SSL Labs Test. Если сертификат просрочен, обновите его (например, через Certbot для Let's Encrypt):
sudo certbot renew --dry-run
После обновления перезагрузите веб-сервер.
Проверьте конфигурацию SSL
Apache (2.4+):
- Откройте файл виртуального хоста (например,
/etc/apache2/sites-available/your-site.conf). - В блоке
<VirtualHost *:443>убедитесь в наличии корректных директив:
Примечание:SSLEngine on SSLCertificateFile /path/to/fullchain.pem # полная цепочка (сертификат + промежуточные) SSLCertificateKeyFile /path/to/private.keySSLCertificateChainFileустарел. ИспользуйтеSSLCertificateFileдля полной цепочки. - Проверьте права на файлы: ключ должен быть доступен только для root (chmod 640).
- Проверьте конфигурацию и перезагрузите:
sudo apache2ctl configtest sudo systemctl reload apache2
Nginx (1.10+):
- Откройте конфигурационный файл (например,
/etc/nginx/sites-available/your-site). - В блоке
serverдляlisten 443 sslпроверьте:ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/private.key; - Проверьте конфигурацию и перезагрузите:
sudo nginx -t sudo systemctl reload nginx

Примеры конфигурационных файлов Apache и Nginx для HTTPS Виртуальные хосты Apache и Nginx с директивами SSL
Убедитесь, что порт 443 открыт
- Проверьте, слушает ли сервер на порту 443:
Если вывод пуст, настройте веб-сервер на прослушивание порта 443 (см. конфигурацию выше).sudo ss -tulpn | grep :443 - Проверьте брандмауэр:
sudo ufw status # для UFW sudo firewall-cmd --list-all # для firewalld - Разрешите порт 443, если он заблокирован:
sudo ufw allow 443/tcp sudo firewall-cmd --permanent --add-service=https && sudo firewall-cmd --reload
Настройте протоколы TLS и шифры
Cloudflare требует TLS 1.2 или выше. В конфигурации сервера отключите устаревшие протоколы.
Apache:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5:!SEED
Nginx:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
Перезагрузите сервер после изменений.
Диагностика через отключение Cloudflare
- В панели Cloudflare найдите DNS-запись вашего домена.
- Переведите её в статус «DNS only» (серое облачко).
- Подождите 5 минут и попробуйте открыть сайт по HTTPS напрямую (например,
https://ваш-сервер-IP). - Если ошибка исчезла — проблема в настройках SSL на вашем сервере. Верните Cloudflare в режим прокси и работайте с способами 1–4.
- Если ошибка осталась — проблема на стороне сервера, не связанная с Cloudflare (например, сертификат не настроен для прямого доступа).

Значки orange и grey облачка Cloudflare в панели DNS Режимы проксирования Cloudflare: orange (прокси) и grey (только DNS)
Обращение к хостинг-провайдеру
Если вы используете shared-хостинг и не имеете доступа к конфигурации сервера:
- Соберите информацию: домен, код ошибки 525, результаты проверки SSL Labs.
- Обратитесь в поддержку провайдера с просьбой проверить:
- Срок действия и цепочку SSL-сертификата.
- Настройки виртуального хоста для HTTPS.
- Доступность порта 443 с внешних адресов.
Профилактика ошибки 525
- Автоматизируйте обновление SSL-сертификатов. Для Let's Encrypt используйте Certbot с автоматическим обновлением (
certbot renew). Настройте уведомления об истечении срока. - Регулярно тестируйте конфигурацию SSL. Запускайте проверку через SSL Labs раз в квартал или после любых изменений на сервере.
- Следите за требованиями Cloudflare. В панели Cloudflare (SSL/TLS → Overview) отображаются рекомендованные настройки. Убедитесь, что ваш сервер им соответствует.
- Мониторьте логи веб-сервера и Cloudflare. В логах Nginx/Apache ищите ошибки SSL. В Cloudflare проверяйте раздел Firewall → Events на предмет блокировок.
- Избегайте устаревших протоколов. При обновлении веб-сервера проверяйте, что по умолчанию включены TLS 1.2 и 1.3.