wpssl.ru wordpress WPSSL.ru

Как удалить старые SSL-сертификаты в WordPress и избежать конфликтов

При работе с SSL в WordPress часто возникает ситуация, когда в системе остаются старые или неиспользуемые SSL-сертификаты. Это может привести к конфликтам, ошибкам безопасности и проблемам с загрузкой сайта. В этой статье подробно разберём, как корректно удалить старые SSL-сертификаты в WordPress, чтобы избежать проблем с безопасностью и работоспособностью сайта.

Почему важно удалять старые SSL-сертификаты

Старые SSL-сертификаты, которые не обновлены или не удалены, могут вызвать следующие проблемы:

  • Смешанный контент. Браузеры могут блокировать загрузку части ресурсов, если сертификат считается недействительным.
  • Ошибки безопасности. Устаревшие сертификаты могут привести к предупреждениям о безопасности у посетителей сайта.
  • Конфликты с новыми сертификатами. При наличии нескольких сертификатов сервер может неправильно выбрать активный.
  • Проблемы с кешированием. Старые сертификаты могут храниться в кешах браузеров и прокси, вызывая некорректное поведение HTTPS.

Удаление неактуальных сертификатов помогает поддерживать безопасность, ускоряет работу сайта и снижает вероятность ошибок.

Как проверить установленные SSL-сертификаты на сервере

Чтобы удалить старый сертификат, сначала нужно понять, какие сертификаты установлены на вашем сервере.

1. Проверка через команду OpenSSL (для доступа к серверу по SSH):

openssl s_client -connect yourdomain.ru:443 -showcerts

Эта команда покажет цепочку сертификатов, которые сервер предоставляет клиенту.

2. Проверка конфигурации веб-сервера (Apache, Nginx):

  • В Apache проверьте файлы конфигурации виртуальных хостов, обычно в /etc/apache2/sites-enabled/. Там ищите директивы SSLCertificateFile и SSLCertificateKeyFile.
  • В Nginx - в конфигурации серверного блока обычно в /etc/nginx/sites-enabled/ - ищите ssl_certificate и ssl_certificate_key.

3. Проверка в панели хостинга. Многие современные панели управления (например, cPanel, Plesk) позволяют видеть и управлять сертификатами через веб-интерфейс.

Удаление старых сертификатов и настройка нового

После определения устаревших сертификатов можно удалить их и правильно настроить новый сертификат.

Удаление сертификатов через SSH

Если у вас есть доступ к серверу по SSH, удалите файлы старого сертификата и ключа, например:

rm /etc/ssl/certs/old_certificate.crt
rm /etc/ssl/private/old_certificate.key

Далее обновите конфигурацию веб-сервера, указав новые пути к сертификату и ключу.

Пример настройки SSL в Nginx с новым сертификатом

server {
    listen 443 ssl http2;
    server_name yourdomain.ru www.yourdomain.ru;

    ssl_certificate /etc/ssl/certs/new_certificate.crt;
    ssl_certificate_key /etc/ssl/private/new_certificate.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # Другие настройки

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
}

Автоматизация с помощью плагина WPSSL для WordPress

Для удобства управления сертификатами внутри WordPress можно использовать специализированные плагины, например, WPSSL. Этот плагин позволяет:

  • Автоматически обновлять сертификаты Let’s Encrypt.
  • Удалять устаревшие сертификаты из настроек WordPress.
  • Настраивать редиректы с HTTP на HTTPS без ошибок.

Установка и активация просты, а в настройках есть подробные инструкции для удаления старых сертификатов и обновления новых.

Как проверить, что старые сертификаты действительно удалены и проблем нет

После удаления старых сертификатов и настройки нового важно убедиться, что сайт работает корректно и сертификат валиден.

Проверка через браузер

  • Откройте сайт через HTTPS.
  • Щёлкните на значок замка в адресной строке.
  • Посмотрите детали сертификата - дата действия, издатель, для какого домена он выпущен.
  • Убедитесь, что нет предупреждений о безопасности.

Онлайн-сервисы проверки SSL

Используйте инструменты, такие как SSL Labs, которые подробно анализируют сертификат, цепочку доверия и конфигурацию сервера.

Проверка смешанного контента

После смены сертификата важно проверить, что на сайте нет смешанного контента (HTTP ресурсы на HTTPS странице). Для этого можно использовать консоль разработчика в браузере (F12) или плагин Clearfy Pro, который помогает выявлять и устранять такие проблемы.

Использование wpwpssl_delete_old_certificates() для удаления сертификатов в коде

Если вам нужно программно управлять сертификатами, например, в кастомном плагине или теме, можно использовать пример функции для удаления старых сертификатов из базы данных WordPress.

function wpssl_delete_old_certificates() {
    global $wpdb;
    
    // Предположим, что сертификаты хранятся в опциях с префиксом 'wpssl_cert_'
    $options = $wpdb->get_results("SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE 'wpssl_cert_%'");

    foreach ($options as $option) {
        // Логика для определения старых сертификатов, например, по дате или версии
        $cert_data = get_option($option->option_name);
        if (!empty($cert_data['expired']) && $cert_data['expired'] === true) {
            delete_option($option->option_name);
        }
    }
}

// Вызов функции например при активации плагина
register_activation_hook(__FILE__, 'wpssl_delete_old_certificates');

Этот пример показывает общий принцип: хранение данных сертификатов в опциях, проверка и удаление устаревших.

Выводы и рекомендации

Удаление старых SSL-сертификатов – важный этап в управлении безопасностью WordPress сайта. Это помогает избежать ошибок, улучшает производительность и повышает доверие пользователей. Используйте комбинацию ручных действий на сервере, проверок в браузере и автоматизации через плагины.

Полезные ссылки:

×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙