Почему возникают проблемы с 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) | Упрощает настройку, автоматические перенаправления | Может конфликтовать с мультисайтом и прокси | Использовать с осторожностью, тестировать на тестовой среде |