Бесплатный SSL для WordPress: Cloudflare и Let's Encrypt

Зачем нужен бесплатный SSL для WordPress
SSL (Secure Socket Layer, ныне реализуется через TLS) шифрует соединение между браузером посетителя и сервером. Это защищает передаваемые данные от перехвата и подмены. Браузер показывает значок «замок» в адресной строке, когда сайт работает по HTTPS. Кроме безопасности, HTTPS полезен для SEO и повышает доверие пользователей.
Краткое определение: TLS — криптографический протокол, обеспечивающий конфиденциальность и целостность данных при обмене по сети.
Важно: SSL-сертификат — не панацея. Он защищает канал, но не заменяет регулярные обновления, надёжные пароли и другие меры безопасности.
Варианты получения бесплатного SSL
Основные бесплатные варианты:
- Cloudflare (Free plan): предоставляет SSL и CDN, простая настройка через смену NS-записей; автоматическая ротация сертификатов на стороне Cloudflare.
- Let’s Encrypt: выпускает подписанные сертификаты, которые устанавливаются на ваш сервер; сертификат действителен 90 дней, можно настроить автоматическое продление.
Когда Cloudflare предпочтителен: вы хотите минимально вмешиваться в серверную конфигурацию, получить CDN и защиту от атак. Когда нужен Let’s Encrypt: вы хотите полное end-to-end шифрование между клиентом и вашим сервером.
Как установить бесплатный SSL на WordPress с помощью Cloudflare
Общий сценарий: вы регистрируете сайт в Cloudflare, меняете NS (nameserver) у регистратора, настраиваете DNS-записи и включаете SSL/TLS режим. Затем на стороне WordPress включаете перенаправление на HTTPS и решаете вопросы смешанного контента.
Пошаговая инструкция
- Зарегистрируйтесь на Cloudflare, используя рабочую почту.
- На панели Cloudflare выберите Websites → Add Site и введите домен.
- Выберите Free plan и продолжите. Cloudflare просканирует существующие DNS-записи.
- Подтвердите найденные записи и завершите облачный процесс.
- Cloudflare выдаст новые nameserver’ы — скопируйте их.
- Войдите в панель регистратора домена и замените текущие NS на те, что дал Cloudflare. Обновление может занять от нескольких минут до 24 часов (обычно быстрее).
- Вернитесь в Cloudflare и нажмите Done, check nameservers.
- В Cloudflare откройте раздел DNS и добавьте записи, если какие‑то отсутствуют:
- A запись: Name = @, Value = IP вашего сервера, Proxy status = Proxied (оранжевый облачок).
- CNAME для www: Name = www, Target = ваш-домен.tld, Proxy status = Proxied.
- В Cloudflare откройте SSL/TLS и выберите режим Full или Flexible. Не выбирайте Full (Strict), если у вас нет корректного сертификата на сервере или Origin Certificate от Cloudflare.
Пояснения по режимам:
- Off — шифрование отключено.
- Flexible — соединение между браузером и Cloudflare защищено, но между Cloudflare и вашим сервером трафик не шифруется. Удобно, если нет сертификата на сервере, но не даёт end-to-end защиты.
- Full — соединение защищено и до сервера; серверу нужен любой сертификат (самоподписанный тоже подойдёт для связи с Cloudflare).
- Full (Strict) — требуется действительный, доверенный сертификат на сервере (рекомендуется для максимальной безопасности).
- На WordPress-админке установите плагин Really Simple SSL:
- Plugins → Add New → Найти Really Simple SSL → Install → Activate.
- В WordPress: Settings → General — обновите WordPress Address (URL) и Site Address (URL) на https://ваш-домен.
- В настройках плагина Really Simple SSL включите Mixed Content Fixer, включите перенаправление на 301 и опцию правки .htaccess, если плагин предлагает (проверьте, есть ли резервная копия).
- Проверьте сайт: откройте https://ваш-домен. Если видите замок — всё в порядке.
Советы по отладке при использовании Cloudflare:
- Если сайт недоступен после смены NS — подождите распространение DNS; при критических проблемах временно отключите проксирование (серый облачок) и верните его после проверки.
- Ошибки 521/522 чаще всего связаны с недоступностью вашего сервера или блокировкой со стороны firewall. Убедитесь, что сервер принимает соединения на порты 80 и 443.
- Для строгого шифрования можно сгенерировать Origin Certificate в Cloudflare и установить его на сервере; тогда можно безопасно выбрать Full (Strict).
Важно: при использовании Cloudflare посетители будут видеть HTTPS, даже если ваш сервер не полностью зашифрован. Это удобно, но не всегда достаточно, если вам требуется end-to-end безопасность (например, для некоторых юридических или соответствующих требований).
Как включить бесплатный SSL на WordPress с помощью Let’s Encrypt
Let’s Encrypt выпускает доверенные сертификаты, которые устанавливаются непосредственно на ваш сервер. Это даёт полное шифрование от браузера до сервера. Процесс требует доступа по SSH и прав администратора на сервере.
Перед началом:
- Убедитесь, что у вас есть SSH-доступ (PuTTY, Terminal) и права sudo.
- На сервере установлены Apache (или Nginx). Инструкция ниже ориентирована на Apache.
- Порт 80 (HTTP) временно должен быть открыт для ACME-валидации.
Пошаговая инструкция для Apache на Debian/Ubuntu
Подключитесь к серверу по SSH как администратор.
Установите certbot и плагин для Apache:
sudo apt update
sudo apt install certbot python3-certbot-apache- Откройте конфигурационный файл сайта в /etc/apache2/sites-available с помощью nano или предпочитаемого редактора:
sudo nano /etc/apache2/sites-available/your-domain.confУбедитесь, что в конфигурации присутствуют директивы ServerName и ServerAlias, например:
ServerName your-domain.tld
ServerAlias www.your-domain.tldСохраните изменения: CTRL+X, Y, Enter.
- Проверьте конфигурацию Apache и перезагрузите службу:
sudo apache2ctl configtest
sudo systemctl reload apache2- Проверьте статус файрвола (ufw) и откройте профиль Apache Full, который включает порты 80 и 443:
sudo ufw status
sudo ufw allow 'Apache Full'
sudo ufw status- Запустите certbot для получения сертификата и автоматической конфигурации Apache:
sudo certbot --apacheВ процессе certbot попросит указать email для уведомлений о продлении и согласиться с условиями использования. Затем он покажет доступные домены — выберите номера доменов, для которых нужен сертификат. В конце certbot предложит автоматически перенаправлять HTTP на HTTPS — рекомендуется выбрать перенаправление.
После успешного получения сертификата certbot обновит конфигурацию Apache и установит автоматическое продление. Сертификаты Let’s Encrypt действуют 90 дней.
Проверка автоматического продления (dry-run):
sudo systemctl status certbot.timer
sudo certbot renew --dry-runЕсли dry-run прошёл без ошибок, реальные автоматические обновления должны срабатывать по таймеру systemd. Можно дополнительно настроить cron-job, но системный timer считается надёжным.
Советы при использовании Let’s Encrypt:
- Если у вас Nginx — используйте python3-certbot-nginx и аналогичные шаги.
- Если certbot не может пройти проверку, проверьте доступность домена по HTTP и корректность A/CNAME записей.
- Для wildcard сертификатов (например, *.example.com) требуется DNS-валидация; certbot поддерживает это через DNS-плагины или ручную валидацию.
Частые ошибки и способы их устранения
- Неправильно настроенные DNS-записи — проверьте A/CNAME и NS через dig или online инструменты.
- Проблемы с firewall — откройте порты 80 и 443.
- Смешанный контент (mixed content) — браузер может не показывать замок, если ресурсы загружаются по HTTP. Используйте Really Simple SSL или вручную исправьте ссылки на https:// в базе данных и шаблонах.
- Перенаправляющие циклы — если включены и на Cloudflare, и в WordPress, проверьте настройки прокси и SSL-режимы; возможно, нужно включить “Automatic HTTPS Rewrites” в Cloudflare.
Сравнение: Cloudflare vs Let’s Encrypt
| Критерий | Cloudflare (Free) | Let’s Encrypt (на сервере) |
|---|
| Простота установки | Очень высокая — смена NS | Средняя — SSH/серверный доступ | End-to-end шифрование | Нет по умолчанию (если Flexible) | Да, если сертификат установлен на сервере | Автопродление | Cloudflare управляет сертификатами | Требуется certbot (обычно автоматич.) | Дополнительные плюсы | CDN, кеширование, DDoS-защита | Полный контроль над сертификатом | Подходит, если | Нужна простая защита и CDN | Нужен доверенный сертификат на сервере
Факт: сертификаты Let’s Encrypt действуют 90 дней; их нужно обновлять (обычно автоматически).
Роли и чеклисты
Чеклист для администратора сайта:
- Проверить, есть ли SSH-доступ и права sudo.
- Резервная копия конфигураций Apache/Nginx и .htaccess.
- Проверить доступность портов 80/443.
- Настроить автоматическое продление (certbot timer или cron).
Чеклист для разработчика (WordPress):
- Установить Really Simple SSL и протестировать работу Mixed Content Fixer.
- Обновить абсолютные URL в БД (https://) через WP-CLI или плагин поиска/замены.
- Проверить работу сторонних плагинов и виджетов после перехода на HTTPS.
Чеклист для хостинг-провайдера / поддержки:
- Убедиться в корректности A/AAAA записей и PTR при необходимости.
- Предложить клиенту Origin Certificate Cloudflare для максимальной совместимости с Full (Strict).
SOP: Быстрое руководство для перехода на HTTPS (микро-процесс)
- Резервная копия сайта и конфигураций.
- Решить: Cloudflare или Let’s Encrypt.
- Если Cloudflare: добавить сайт, сменить NS, включить режим SSL, проверить DNS.
- Если Let’s Encrypt: установить certbot, пройти валидацию, выбрать перенаправление на HTTPS.
- На WordPress включить 301-редирект, исправить mixed content.
- Проверить сайт в режиме инкогнито и через сторонние инструменты (SSL Labs, Why No Padlock).
- Настроить автоматическое продление и мониторинг.
Дополнительные рекомендации по безопасности
- Включите HSTS (Strict-Transport-Security) аккуратно: сначала с коротким max-age в тестовом режиме, затем — на постоянной основе.
- Отключите старые протоколы TLS (1.0/1.1) и слабые шифры на уровне сервера.
- Включите OCSP Stapling и настройте корректный cert chain.
- Регулярно обновляйте CMS, плагины и серверное ПО.
Важно: HSTS может «закрепить» сайт в браузерах как только доступный по HTTPS — перед включением убедитесь, что HTTPS применён для всех поддоменов, если используете includeSubDomains.
Конфигурационные сниппеты и полезные команды
Проверка DNS и SSL:
dig +short A your-domain.tld
curl -I -L https://your-domain.tldКоманды для certbot и Apache (сводка):
sudo apt update
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
sudo certbot renew --dry-run
sudo systemctl status certbot.timerMermaid — простая диаграмма принятия решения (Cloudflare vs Let’s Encrypt):
flowchart TD
A[Нужен SSL для WordPress?] --> B{Есть доступ к серверу по SSH?}
B -- Да --> C{Нужен end-to-end шифр?}
C -- Да --> D[Использовать Let's Encrypt]
C -- Нет --> E[Можно использовать Cloudflare]
B -- Нет --> E
E --> F[Добавить сайт в Cloudflare и включить SSL]
D --> G[Установить certbot и настроить автоматическое продление]Частные случаи и когда один метод не подходит
- Если провайдер хостинга не позволяет менять NS у домена — Cloudflare будет недоступен как полный прокси; можно использовать только DNS-сервис Cloudflare (CNAME setup) или выбрать Let’s Encrypt.
- На корпоративных серверах с жесткими требованиями к журналированию/взаимодействию с CA может потребоваться коммерческий cert с поддержкой EV/OV.
- Если сайт интенсивно использует веб‑сокеты или специфичные протоколы, тестируйте работу через Cloudflare перед массовым переключением.
Примечания по приватности и GDPR
- При регистрации в Let’s Encrypt вы вводите email для уведомлений о продлении; в процессе certbot может спросить, делиться ли этим email с EFF — это опционально.
- Cloudflare как прокси видит трафик пользователей; при обработке персональных данных проверьте соглашение с Cloudflare и соответствие требованиям GDPR.
Краткий глоссарий (1 строка)
- SSL/TLS — протокол шифрования для защищённого обмена данными.
- Certbot — официальный клиент Let’s Encrypt для получения сертификатов.
- CDN — сеть доставки контента; уменьшает задержки и защищает от DDoS.
- HSTS — директива для браузеров, требующая только HTTPS-подключений.
Социальный сниппет и анонс
OG title: Бесплатный SSL для WordPress — Cloudflare и Let’s Encrypt OG description: Два проверенных способа получить бесплатный SSL: простой путь через Cloudflare и полный end-to-end через Let’s Encrypt.
Короткий анонс (100–200 слов): Получить HTTPS для WordPress можно бесплатно и быстро. В этой статье описаны два подхода: настройка Cloudflare с заменой NS и включением SSL (идеально для тех, кто хочет CDN и защиты без вмешательства в сервер), а также установка сертификата Let’s Encrypt на сервер (даёт end-to-end шифрование, требует SSH и базовых навыков администрирования). Подробные шаги включают проверку DNS, настройку Apache, команды certbot, устранение ошибок смешанного контента и чеклисты для администратора. В конце — рекомендации по безопасности, конфигурационные сниппеты и схема принятия решения.
Итог и рекомендации
- Для большинства пользователей, которые хотят быстро и с минимальными рисками включить HTTPS, Cloudflare Free — лучший старт.
- Если вам требуется полное шифрование до сервера или вы хотите полный контроль над сертификатом, выбирайте Let’s Encrypt и настраивайте certbot.
- Всегда делайте резервные копии перед изменениями конфигураций и тестируйте сайт в нескольких браузерах и инструментах проверки SSL.
Важно: SSL — лишь одна из мер безопасности. Совместите её с регулярными обновлениями, надёжной политикой паролей и мониторингом уязвимостей.
Критерии приёмки
- Сайт открывается по https:// и показывает замок в браузере.
- Никаких ошибок смешанного контента в консоли браузера.
- Сертификат корректно установлен и валиден (проверено SSL Labs или curl).
- Налажено автоматическое продление сертификатов или управление сертификатами через Cloudflare.
Примечание: если вы сомневаетесь в выборе, начните с Cloudflare, а затем при необходимости добавьте сертификат на сервер и перейдите на Full (Strict).
Похожие материалы
Исправить iPhone Unavailable — 4 проверенных способа
Разблокировать отключённый iPhone — 4 метода
Безпарольный вход в Microsoft — как настроить
Группы общих паролей на iPhone (iOS 17)
Решение проблем с менеджером паролей — практический гид