wpssl.ru wordpress WPSSL.ru

Решение проблем с SSL в WordPress Multisite: настройка и диагностика

Почему возникают проблемы с SSL в WordPress Multisite?

WordPress Multisite — мощный инструмент для управления сетью сайтов на одной установке WordPress. Однако настройка SSL для мультисайтовой сети часто вызывает сложности из-за особенностей работы поддоменов и папок, правил перенаправлений и конфигурации сервера. Неправильная настройка приводит к ошибкам смешанного контента, циклическим редиректам, предупреждениям безопасности в браузерах и проблемам с доступом к админке.

Типичные симптомы проблем SSL в Multisite

  • Ошибка «Смешанный контент» (Mixed Content) при загрузке поддоменов или поддиректорий;
  • Браузер не показывает зеленый замок или сообщает о небезопасном соединении;
  • Циклические редиректы с HTTP на HTTPS и обратно;
  • Отсутствие HTTPS на некоторых сайтах сети;
  • Проблемы с входом в админку отдельных сайтов сети;
  • Ошибки при загрузке медиа или AJAX-запросов по HTTPS.

Диагностика проблем с SSL в Multisite: что проверить в первую очередь

Перед решением проблемы необходимо тщательно проверить несколько ключевых моментов:

  • Тип мультисайт сети: поддомены (site1.example.com) или поддиректории (example.com/site1);
  • SSL-сертификаты: установлен ли сертификат с поддержкой всех поддоменов (wildcard) или отдельный для каждого сайта;
  • Настройки WordPress: верно ли указаны адреса в Network Admin > Sites > Edit и в Settings > General для каждого сайта;
  • Конфигурация веб-сервера: поддерживает ли сервер HTTPS и правильно ли настроены редиректы;
  • Плагины безопасности и кеширования: не блокируют ли они HTTPS или не создают конфликтов;
  • Файлы .htaccess или nginx.conf: корректно ли прописаны правила для мультисайта и HTTPS;
  • Наличие смешанного контента: проверить через консоль браузера и специальные инструменты (например, Why No Padlock).

Пошаговое решение проблем с SSL в WordPress Multisite

1. Установка подходящего SSL-сертификата

Для сетей на поддоменах требуется wildcard-сертификат. Для поддиректорий подойдет сертификат для основного домена. Убедитесь, что сертификат корректно установлен и обновлен.

2. Настройка адресов сайтов в админке

Перейдите в Network Admin > Sites, отредактируйте каждый сайт и убедитесь, что в полях Site Address (URL) и Home используется https://.

3. Правильная конфигурация веб-сервера

Для Apache добавьте или проверьте правила в .htaccess:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# WordPress Multisite rules
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

Для Nginx пример правила:

server {
    listen 80;
    server_name example.com *.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com *.example.com;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    # Другие настройки...
}

4. Обновление конфигурации WordPress для поддержки SSL в мультисайте

В файл wp-config.php добавьте:

define('FORCE_SSL_ADMIN', true);

// Для правильной работы SSL за прокси (если есть)
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
}

5. Очистка кеша

Очистите кеш браузера, плагинов кеширования (например, WP Rocket, W3 Total Cache), а также кеш CDN (Cloudflare и др.).

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

  • Откройте сайты сети в браузере и убедитесь, что в адресной строке отображается зеленый замок;
  • Проверьте консоль разработчика (F12) на отсутствие ошибок смешанного контента;
  • Используйте онлайн-сервисы для проверки SSL, например SSL Labs;
  • Убедитесь, что вход в админку на всех сайтах работает без ошибок;
  • Проверьте, что AJAX-запросы и загрузка медиафайлов работают корректно по HTTPS.

Частые ошибки при настройке SSL в WordPress Multisite и способы их устранения

  • Неверно указан адрес сайта (HTTP вместо HTTPS): исправьте в админке сети и в базе данных (таблица wp_blogs и wp_options для каждого сайта).
  • Отсутствие wildcard-сертификата для поддоменов: замените сертификат или используйте отдельные сертификаты для каждого поддомена.
  • Циклические редиректы: проверьте правила в .htaccess и wp-config.php, возможен конфликт с плагинами кеширования или прокси.
  • Проблемы с прокси или балансировщиками нагрузки: добавьте обработку заголовков X-Forwarded-Proto в wp-config.php.
  • Смешанный контент из-за жёстко закодированных HTTP-ссылок: используйте плагин Search Replace DB или команды WP-CLI для замены http:// на https:// в базе.

Практические советы для безопасности и производительности SSL в Multisite

  • Регулярно обновляйте SSL-сертификаты, используйте автоматизацию через Let's Encrypt и Certbot;
  • Настройте HTTP Strict Transport Security (HSTS) с разумным max-age (например, 6 месяцев);
  • Используйте современные протоколы TLS 1.2 и 1.3;
  • Минимизируйте количество плагинов, влияющих на HTTP-заголовки и кеширование;
  • Для CDN и прокси всегда проверяйте передачу HTTPS-заголовков;
  • Автоматизируйте проверку смешанного контента с помощью мониторинга или CI/CD-инструментов.

Сравнение способов решения проблем с SSL в WordPress Multisite

МетодПреимуществаНедостаткиРекомендации
Wildcard SSL сертификатПоддержка всех поддоменов, единая настройкаПлатный, требует правильной установкиДля поддоменной мультисайтовости
Отдельные сертификаты для каждого сайтаГибкость, можно использовать бесплатные Let’s EncryptСложно управлять, требует автоматизацииДля мультисайтов с поддиректориями или разными доменами
Использование плагинов SSL (например, Really Simple SSL)Упрощает настройку, автоматические перенаправленияМожет конфликтовать с мультисайтом и проксиИспользовать с осторожностью, тестировать на тестовой среде
×
Обнови свой WordPress!

Держи скидку 15% на премиум тему Reboot

Купить со скидкой ⋙