Другое 525Высокая

Ошибка 525: SSL handshake failed — диагностика и устранение

Подробное руководство по ошибке 525 (SSL handshake failed). Разбираем причины — от просроченных сертификатов до несовместимых шифров, и даём пошаговые инструкции по диагностике и исправлению для Apache, Nginx и других серверов.

Обновлено 23 марта 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Cloudflare (режим прокси)Apache 2.4+Nginx 1.10+Любые веб-серверы с поддержкой HTTPS

Что такое ошибка 525

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

Важно: эта ошибка появляется только при активном проксировании Cloudflare (оранжевое облачко в DNS-записи). Если Cloudflare отключён (серое облачко), запросы идут напрямую к серверу, и ошибки 525 не будет.

Схема SSL handshake между Cloudflare и веб-сервером с точкой отказа

Схема SSL handshake между Cloudflare и веб-сервером с точкой отказа

Основные причины

  1. Просроченный или недействительный SSL-сертификат на сервере. Cloudflare проверяет срок действия и цепочку доверия.
  2. Некорректная конфигурация SSL на сервере: неверные пути к файлам сертификата и приватного ключа, отсутствие промежуточных сертификатов.
  3. Сервер не принимает соединения на порту 443 или брандмауэр блокирует этот порт.
  4. Несовместимые протоколы TLS или шифры. Cloudflare требует поддержки TLS 1.2 и выше. Если сервер настроен только на старые протоколы (SSLv3, TLS 1.0) или слабые шифры, handshake завершится ошибкой.
  5. Сервер перегружен или временно недоступен для Cloudflare.
  6. Блокировка запросов от 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+):

  1. Откройте файл виртуального хоста (например, /etc/apache2/sites-available/your-site.conf).
  2. В блоке <VirtualHost *:443> убедитесь в наличии корректных директив:
    SSLEngine on
    SSLCertificateFile /path/to/fullchain.pem  # полная цепочка (сертификат + промежуточные)
    SSLCertificateKeyFile /path/to/private.key
    
    Примечание: SSLCertificateChainFile устарел. Используйте SSLCertificateFile для полной цепочки.
  3. Проверьте права на файлы: ключ должен быть доступен только для root (chmod 640).
  4. Проверьте конфигурацию и перезагрузите:
    sudo apache2ctl configtest
    sudo systemctl reload apache2
    

Nginx (1.10+):

  1. Откройте конфигурационный файл (например, /etc/nginx/sites-available/your-site).
  2. В блоке server для listen 443 ssl проверьте:
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/private.key;
    
  3. Проверьте конфигурацию и перезагрузите:
    sudo nginx -t
    sudo systemctl reload nginx
    
Примеры конфигурационных файлов Apache и Nginx для HTTPS

Примеры конфигурационных файлов Apache и Nginx для HTTPS Виртуальные хосты Apache и Nginx с директивами SSL

Убедитесь, что порт 443 открыт

  1. Проверьте, слушает ли сервер на порту 443:
    sudo ss -tulpn | grep :443
    
    Если вывод пуст, настройте веб-сервер на прослушивание порта 443 (см. конфигурацию выше).
  2. Проверьте брандмауэр:
    sudo ufw status  # для UFW
    sudo firewall-cmd --list-all  # для firewalld
    
  3. Разрешите порт 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

  1. В панели Cloudflare найдите DNS-запись вашего домена.
  2. Переведите её в статус «DNS only» (серое облачко).
  3. Подождите 5 минут и попробуйте открыть сайт по HTTPS напрямую (например, https://ваш-сервер-IP).
  4. Если ошибка исчезла — проблема в настройках SSL на вашем сервере. Верните Cloudflare в режим прокси и работайте с способами 1–4.
  5. Если ошибка осталась — проблема на стороне сервера, не связанная с Cloudflare (например, сертификат не настроен для прямого доступа).
Значки orange и grey облачка Cloudflare в панели DNS

Значки orange и grey облачка Cloudflare в панели DNS Режимы проксирования Cloudflare: orange (прокси) и grey (только DNS)

Обращение к хостинг-провайдеру

Если вы используете shared-хостинг и не имеете доступа к конфигурации сервера:

  1. Соберите информацию: домен, код ошибки 525, результаты проверки SSL Labs.
  2. Обратитесь в поддержку провайдера с просьбой проверить:
    • Срок действия и цепочку 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.

Часто задаваемые вопросы

Чем ошибка 525 отличается от ошибок 520 или 522 Cloudflare?
Можно ли исправить ошибку 525, не имея доступа к конфигурации сервера?
Почему ошибка 525 возникает только в некоторых браузерах?
Как автоматизировать проверку SSL после исправления ошибки 525?

Полезное

Проверьте срок действия и цепочку SSL-сертификата
Убедитесь в корректности конфигурации SSL на сервере
Проверьте доступность порта 443 и настройки брандмауэра
Настройте поддерживаемые протоколы TLS и шифры
Диагностируйте, временно отключив Cloudflare
Обратитесь к хостинг-провайдеру при использовании shared-хостинга

Эта статья помогла вам решить проблему?