В этом руководстве вы узнаете, как установить SSL-сертификат на WordPress Multisite. Здесь есть две части: установка сертификата на уровне сервера (тип зависит от того, использует ли ваша сеть подкаталоги, поддомены или отдельные домены), а затем принудительное включение HTTPS для всей сети изнутри WordPress.
Какой SSL-сертификат нужен вашей Multisite-сети?
WordPress Multisite — это встроенная функция WordPress, которая позволяет создавать и управлять несколькими сайтами из одной установки и панели управления. Вы можете настроить сеть по одной из трех схем: подкаталоги, поддомены или отдельные домены. Именно схема определяет, какой сертификат вам нужен, поскольку каждая из них по-разному защищает имена хостов. Если вы не уверены, какой сертификат подходит для вашей конфигурации, воспользуйтесь нашим SSL Wizard, чтобы найти подходящий продукт для вашего проекта и бюджета.
Multisite в виде подкаталогов
Подкаталог (также называемый подпапкой) — это путь внутри одного домена. Например:
- yoursite.com/blog
- yoursite.com/store
- yoursite.com/membership
Поскольку каждый субсайт находится в рамках одного и того же имени хоста, один стандартный SSL-сертификат для этого домена защищает всю сеть целиком. Если ваш основной домен уже работает по HTTPS, сайты в подкаталогах автоматически защищены, без необходимости покупать дополнительный сертификат.
Multisite в виде поддоменов
Поддомен — это раздел, расположенный перед корневым доменом. Поддомены — это практичный способ разделения частей сети. Например:
- blog.yoursite.com
- store.yoursite.com
- membership.yoursite.com
Для сети, работающей на поддоменах, подходящим вариантом является Wildcard SSL-сертификат. Wildcard защищает корневой домен и неограниченное количество поддоменов первого уровня под ним — все в рамках одного сертификата. Вы можете добавлять новые субсайты в любое время, и они будут защищены без переоформления сертификата.
Примечание: Wildcard покрывает только один уровень поддоменов. Сертификат для *.yoursite.com защищает blog.yoursite.com, но не shop.blog.yoursite.com. Если ваша сеть использует поддомены такой глубины вложенности, спланируйте защиту этого уровня отдельно.
Multisite с разными доменами
Если вы хотите, чтобы каждый субсайт использовал собственный пользовательский домен, сначала нужно выполнить сопоставление доменов (domain mapping). Начиная с версии 4.5 сопоставление доменов встроено в ядро WordPress, поэтому отдельный плагин для этого больше не требуется. Вы сопоставляете домен, редактируя субсайт в разделе Network Admin > Sites > Edit и указывая в поле Site Address (URL) пользовательский домен (ваши DNS и сервер уже должны указывать на сеть для этого домена).
После сопоставления доменов защитите их с помощью мультидоменного SSL-сертификата. Мультидоменный сертификат (также называемый SAN-сертификатом) по умолчанию охватывает несколько не связанных между собой доменов и позволяет по запросу добавлять дополнительные альтернативные имена субъекта (Subject Alternative Names), поэтому один сертификат и одно продление защищают всю сеть. Серверы, размещающие несколько HTTPS-сайтов на одном IP-адресе, используют SNI (Server Name Indication), чтобы предъявлять правильный сертификат для каждого имени хоста, и эту технологию поддерживают все современные браузеры и серверы.
Установка сертификата на сервере
WordPress сам по себе не устанавливает сертификат. Вы устанавливаете его на сервере или хостинге, где размещена сеть, а затем переключаете WordPress на HTTPS. Точные шаги зависят от вашей среды:
- Управляемый или общий хостинг: загрузите или вставьте сертификат, приватный ключ и цепочку центра сертификации (CA bundle) в панели управления (cPanel, Plesk или в разделе SSL/TLS вашего хостинга). Многие управляемые хостинги WordPress устанавливают и продлевают сертификаты за вас.
- Apache: укажите в директивах SSLCertificateFile и SSLCertificateKeyFile путь к вашему полному сертификату (full-chain) и ключу внутри блока VirtualHost для порта 443. Точные директивы смотрите в наших руководствах по установке.
- Nginx: задайте ssl_certificate (полную цепочку) и ssl_certificate_key в блоке server, который слушает порт 443.
Нужен сертификат для начала? Сгенерируйте запрос с помощью нашего CSR Generator или воспользуйтесь пошаговым руководством по CSR для вашей платформы. После того как удостоверяющий центр выпустит файлы и вы их установите, убедитесь, что сертификат работает, с помощью нашего SSL Checker, прежде чем продолжать.
Включение HTTPS для всей сети Multisite
После установки сертификата на сервере остается последний шаг — настроить WordPress так, чтобы каждый сайт работал по HTTPS. Перед началом сделайте резервную копию базы данных и файлов, поскольку эти изменения затрагивают URL-адреса сайтов во всей сети.
Шаг 1: Обновите адреса сайта и главной страницы на https
В разделе Network Admin > Sites откройте каждый субсайт, перейдите на вкладку Settings и измените значения Siteurl и Home с http на https. Для главного сайта это также можно сделать в его собственном разделе Settings > General (поля WordPress Address и Site Address). После редактирования сохраните каждый сайт.
Шаг 2: Принудительно включите HTTPS для админ-панели и входа в систему
Отредактируйте файл wp-config.php в корне сети и добавьте эту строку над комментарием /* That’s all, stop editing! Happy publishing. */:
define( 'FORCE_SSL_ADMIN', true );
Это направляет каждую сессию входа в систему и администрирования по HTTPS во всей сети. Добавляйте эту строку только после того, как сертификат уже работает на сервере, иначе панель администратора может стать недоступной.
Если сеть находится за обратным прокси-сервером или балансировщиком нагрузки, который завершает работу SSL (это распространено на управляемом хостинге и в CDN), WordPress может не определить HTTPS и зациклиться на редиректах. В этом случае укажите WordPress доверять заголовку переданного протокола, добавив следующее прямо перед той же строкой:
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && strpos( $_SERVER['HTTP_X_FORWARDED_PROTO'], 'https' ) !== false ) {
$_SERVER['HTTPS'] = 'on';
}
Шаг 3: Замените жестко заданные http-адреса в базе данных
Существующие записи, меню и настройки часто содержат полные http-ссылки. Выполните поиск и замену, чтобы преобразовать их в https. Самый безопасный инструмент — WP-CLI, который корректно обрабатывает сериализованные данные и может применяться ко всей сети:
wp search-replace 'http://yoursite.com' 'https://yoursite.com' --network --skip-columns=guid --dry-run
Изучите результат пробного запуска, затем выполните команду еще раз без параметра —dry-run, чтобы применить изменения. Повторите это для каждого отдельного домена в сети, использующей отдельные сайты или сайты на поддоменах. Если у вас нет доступа к WP-CLI, поддерживаемый плагин, такой как Better Search Replace, выполняет ту же задачу из панели управления. Не трогайте столбец guid, поскольку его изменение может повлиять на RSS-читалки.
Шаг 4: Проверьте и (по желанию) настройте редирект
Загрузите каждый сайт и убедитесь, что значок замка отображается без предупреждений о смешанном содержимом в консоли браузера. Плагин для принудительного HTTPS, например Really Simple SSL (который поддерживает Multisite), может обнаружить оставшиеся небезопасные запросы и настроить за вас редирект с HTTP на HTTPS. Вы также можете настроить редирект на уровне сервера в конфигурации Apache или Nginx. Полное руководство по переходу сайта на HTTPS смотрите в нашей статье о переходе с HTTP на HTTPS.
Теперь ваша сеть WordPress Multisite обслуживает все сайты по HTTPS.
Часто задаваемые вопросы
Это зависит от схемы сети. Сети на подкаталогах нужен один стандартный сертификат для одного домена. Сети на поддоменах нужен Wildcard-сертификат, покрывающий корневой домен и его поддомены. Сети из отдельных (сопоставленных) доменов нужен мультидоменный (SAN) сертификат, в котором перечислен каждый домен.
Да, при условии что тип сертификата соответствует схеме сети. Один стандартный сертификат покрывает сеть на подкаталогах, один Wildcard-сертификат покрывает сеть на поддоменах, а один мультидоменный сертификат покрывает сеть из отдельных доменов, перечисляя каждый домен как SAN.
На сервере. Сертификат, приватный ключ и цепочку центра сертификации устанавливают через панель управления хостинга или напрямую в Apache или Nginx. Самому WordPress нужно только переключить URL-адреса сайтов на https и добавить настройку FORCE_SSL_ADMIN в wp-config.php после того, как сертификат заработает.
Обновите значения Siteurl и Home на https для каждого сайта в разделе Network Admin > Sites, добавьте define( 'FORCE_SSL_ADMIN', true ); в wp-config.php и выполните поиск и замену, чтобы преобразовать все жестко заданные http-ссылки в базе данных. Плагин для принудительного HTTPS с поддержкой Multisite может добавить редирект и обнаружить оставшийся смешанный контент.
Нет. Сопоставление доменов является частью ядра WordPress начиная с версии 4.5. Вы сопоставляете пользовательский домен, редактируя поле Site Address (URL) субсайта в разделе Network Admin > Sites > Edit, поэтому старый плагин MU Domain Mapping больше не нужен.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10


