Содержание11
- Зачем сайту SSL-сертификат и HTTPS
- Какой сертификат брать: DV, OV, EV и Let's Encrypt
- Что проверить до выпуска: домен, DNS, CAA и владение
- Какой способ установки выбрать
- Установка в панели хостинга и в ISPmanager
- Certbot на VPS: Nginx и Apache
- Редирект на HTTPS, автопродление и проверка
- Чеклист SEO-переезда на HTTPS
- Сбои, HSTS и минимум после установки
- Частые вопросы
- Источники
SSL-сертификат ставят на домен, чтобы браузер открывал сайт по HTTPS. Бесплатный Let's Encrypt выпускают в панели хостинга или через Certbot на VPS. Платные OV и EV берут, когда в сертификате нужно юрлицо. После выпуска включают один 301 с HTTP на HTTPS и проверяют цепочку и смешанный контент. Иначе замок в браузере будет то появляться, то пропадать.
Зачем сайту SSL-сертификат и HTTPS
SSL-сертификат привязывает ключ к домену. Браузер по этой связке открывает сайт по HTTPS. Канал шифрует TLS — протокол, на котором работает HTTPS. Без сертификата посетитель видит предупреждение: форма, корзина и оплата выглядят как риск.
По HTTP пароли, содержимое корзины и cookie сессии магазина или CRM едут открытым текстом. Узел на пути может их прочитать. Сертификат сам по себе сайт не ускоряет и редирект не подменяет: он включает HTTPS на домене. EV показывает организацию в деталях сертификата, а не силу шифра. Отдельного «зелёного замка» у EV в строке браузера больше нет. Поиск склеивает зеркала после корректного переезда, а не после файла в панели.
Для витрины с заявкой HTTP тоже плох: браузер помечает поле пароля на незащищённой странице, и часть людей уходит до отправки формы.
Сертификат не делает сайт быстрее и не заменяет 301: он только включает HTTPS на домене.
Мнение. Если на сайте есть форма, кабинет или оплата, ставьте сертификат до запуска рекламы: предупреждение браузера обрывает заявку раньше счётчика.
Какой сертификат брать: DV, OV, EV и Let's Encrypt
Магазину и витрине чаще хватает DV: проверяют только владение доменом. Шифр от типа сертификата не становится «сильнее». OV и EV дополнительно проверяют организацию и показывают её в сертификате. Это нужно, когда контрагент или регламент прямо просят юрлицо внутри crt, не «для SEO».
Let's Encrypt — бесплатный SSL-сертификат типа DV. Его выпускает ACME-клиент в панели или Certbot на VPS. Срок жизни и окно автопродления сверяйте с текущей документацией Let's Encrypt: политику меняют, и цифра из чужого гайда быстро устаревает.
Wildcard закрывает *.domain одним файлом: поддомены магазина, www и витрины, когда не хотите плодить crt на каждый хост. SAN собирает несколько имён в один сертификат. Wildcard у Let's Encrypt выпускают через DNS-01, не через файл на порту 80. Цены DV, OV и EV у регистраторов в текст не ставим: смотрите прайс выбранного CA на день покупки.
| Тип | Что проверяют | Кому подходит | Кто выпускает | Автопродление |
|---|---|---|---|---|
| DV | только домен | визитка, каталог, магазин без юрлица в crt | коммерческий CA | зависит от CA и ACME |
| OV | домен и организация | когда контрагент просит юрлицо в сертификате | коммерческий CA | кабинет CA или ручная загрузка |
| EV | домен и расширенная проверка организации | редкие брендовые и банковские требования | коммерческий CA | как у OV |
| Let's Encrypt | только домен, это DV | большинство сайтов и витрин | Let's Encrypt | ACME: панель или Certbot |
Если юрлицо в сертификате никто не требует — берите Let's Encrypt. OV и EV здесь лишняя бюрократия: шифр тот же, замок в строке тот же.
Что проверить до выпуска: домен, DNS, CAA и владение
Выпуск срывается на валидации, если DNS смотрит не на тот сервер. Запись A и при наличии AAAA должны указывать туда, где отвечает сайт. Иначе проверка HTTP-01 уйдёт на чужой хост, и Let's Encrypt сертификат не отдаст.
Владение доменом подтверждают по задаче. HTTP-01 кладёт файл на порт 80. DNS-01 пишет TXT — так выпускают wildcard. Почта и CNAME встречаются у платных CA. ACME — протокол, по которому панель и Certbot общаются с Let's Encrypt. Плодить все способы сразу не нужно: выберите один, который реально контролируете.
CAA-запись в DNS регулирует выпуск SSL-сертификата: в ней перечислены удостоверяющие центры, которым разрешено выпускать crt на домен. Если в CAA чужой CA, Let's Encrypt ответит отказом. Формат записи сверяйте с документацией IANA и подсказкой регистратора, не с чужим скриншотом. Нужны оба хоста — корень и www, если сайт открывается с обоих: выпускайте сразу на два имени.
Доступ тоже проверяют заранее. На shared достаточно входа в панель. На VPS — root или sudo. Для DNS-01 нужен доступ к DNS API. Если платформа сама выпускает сертификат (конструктор, облачная витрина), не ставьте Certbot рядом и не загружайте чужой crt вручную: получите конфликт на 443. Лимиты Let's Encrypt на повторный выпуск и неудачные проверки смотрите на странице Rate Limits, не в пересказах.
- DNS: A и AAAA смотрят на этот сервер, не на старый хостинг.
- Имена: корень и
wwwв одном выпуске, если оба открывают сайт. - CAA: нет чужого CA, либо явно разрешён Let's Encrypt.
- Порт 80 открыт снаружи, если идёте через HTTP-01.
- Есть вход в панель либо root/sudo на VPS, либо DNS API.
Без этого списка выпуск «в два клика» превращается в ночь с логами валидации.
Какой способ установки выбрать
Способ выбирают по доступу к серверу, не по моде. Нет SSH — выпускайте в панели хостинга или в ISPmanager, продление заберёт хостер. Есть VPS с Nginx или Apache — Let's Encrypt выпускает Certbot, таймер renew держите сами. Трафик идёт через Cloudflare — сертификат висит на краю сети; origin всё равно закройте своим crt, иначе кусок пути до сервера останется открытым. Платный OV или EV берите, когда в сертификате нужно юрлицо или это написано в договоре с контрагентом.
| Сценарий | Кому подходит | Кто выпускает | Кто продлевает | SSH |
|---|---|---|---|---|
| Панель хостинга / ISPmanager | сайт на shared, без SSH | хостер, часто Let's Encrypt | хостер | не нужен |
| Certbot + Nginx или Apache | VPS, нужен контроль над vhost | Certbot выпускает Let's Encrypt | systemd-таймер или cron certbot renew | root или sudo |
| Cloudflare, прокси включён | CDN на краю | сертификат края у Cloudflare | Cloudflare | не нужен для края; origin лучше закрыть своим crt |
| Платный OV / EV | нужно юрлицо в сертификате | коммерческий CA | кабинет CA или ручная загрузка в панель | не обязателен |
Визитке и каталогу с формой хватает панели. Магазину на VPS — Certbot и свой vhost. Облачному фронту — край плюс сертификат на origin. Этот набор не подходит, если у вас только FTP на Windows IIS без ACME и без SSL в панели: тогда либо меняйте контур, либо грузите готовый crt тем способом, который даёт хостер.
Если сайт только проектируете, закладывайте HTTPS в запуск: разработка сайта с настроенным HTTPS.
Панель — когда нет SSH. Certbot — когда есть VPS. OV — только если просят юрлицо в сертификате.
Установка в панели хостинга и в ISPmanager
На shared-хостинге SSL-сертификат выпускают в панели, без входа по SSH. Откройте раздел SSL, выберите домен, включите выпуск Let's Encrypt, дождитесь ответа CA и откройте сайт по https://. Пока 443 не отвечает без предупреждения, редирект не трогайте.
Let's Encrypt в панели обычно просит отметить корень и www. Если валидация падает, смотрите лог выпуска: чаще виноваты DNS, закрытый порт 80 или CAA. Готовый платный crt вставляют тремя полями: сертификат, приватный ключ, цепочка ca-bundle. Ключ в тикеты, мессенджеры и git не кладут — его довольно один раз засветить.
В ISPmanager путь такой же по смыслу: SSL-сертификаты -> выпуск Let's Encrypt или загрузка файлов -> привязка к сайту. Кнопки в разных сборках панели подписаны чуть иначе, логика одна. После выпуска сайт часто всё ещё открывается по HTTP: это не сломанный сертификат, это ещё не включённый редирект.
Типичный сбой панели — выпуск только на www при пустом корне, или наоборот. Тогда один адрес с замком, второй с предупреждением. Выпускайте на оба имени, которыми реально пользуются люди.
Если панель пишет успех, а браузер ругается на цепочку — не хватает ca-bundle. Догрузите промежуточный сертификат, не перевыпускайте DV по кругу.
Certbot на VPS: Nginx и Apache
На VPS Let's Encrypt выпускает Certbot и прописывает файлы в веб-сервер. До старта DNS уже смотрит на эту машину, порты 80 и 443 открыты, пакет certbot установлен. Плагин nginx или apache правит vhost сам — берите его, если сервер уже обслуживает сайт. Webroot кладёт файл проверки в каталог сайта, когда сервер нельзя перезапускать ради выпуска. Standalone сам садится на 80 и не подходит, если там уже слушает Nginx, Apache или панель.
Живые файлы лежат в /etc/letsencrypt/live/домен/: fullchain.pem и privkey.pem. В git, бэкап без шифра и в чат их не копируют. Nginx использует SSL-сертификат так: в server на 443 директивы ssl_certificate и ssl_certificate_key, на 80 — отдельный server. Имена директив сверяйте с текущей документацией Nginx: в мажорных версиях синтаксис чуть пляшет. Для Apache те же файлы идут в SSLCertificateFile и SSLCertificateKeyFile, плюс модуль ssl и include опций Certbot. Дублировать весь блок Nginx в Apache не нужно.
Пара ключ–сертификат сверяется утилитой openssl по modulus; команду берите из man openssl. Ключ доступен только процессу веб-сервера, не всем пользователям машины. Семейство шифров ECDHE оставляйте в генераторе конфига Mozilla, простыню cipher suite руками не собирайте.
Где ломается чаще всего: в vhost попал crt без цепочки вместо fullchain; server_name не совпал с именем в сертификате; слушают только IPv4 или только IPv6.
Certbot не ваш случай, если SSH нет и панель уже выпускает сертификат сама: два клиента на одном домене будут перезаписывать crt.
Редирект на HTTPS, автопродление и проверка
Сертификат в панели ещё не значит, что посетитель всегда попадает в HTTPS. Нужен один редирект 301 с HTTP на выбранный HTTPS-хост. Цепочки http -> www -> https или туда-обратно поисковик и браузер переваривают плохо: теряется реферер, копится время ответа, клей зеркал едет. HTTP/2 включают после рабочего сертификата, не вместо него.
Автопродление Let's Encrypt держит ACME-клиент. У Certbot это systemd-таймер или cron с certbot renew. Окно до истечения и срок жизни сертификата сверяйте с документацией Let's Encrypt, не с памятью «как у всех». Панель хостинга продлевает сама: отдельный cron на shared обычно не нужен. Если таймер молчит, сайт внезапно встречает людей предупреждением — это уже простой витрины, не «мелочь в конце чеклиста».
Проверка такая. Сайт открывается по HTTPS без предупреждения. В сертификате те CN и SAN, которыми пользуются люди. openssl s_client на 443 показывает полную цепочку, не один листовой crt. SSL Labs — внешний контроль, не единственный критерий: оценка «как у соседа» не заменяет живой замок и один 301. Ключ должен соответствовать crt: иначе браузер ругнётся сразу после reload.
Рабочий HTTPS — это не «сертификат в панели», а один 301, полная цепочка и живое автопродление.
Пока 443 отдаёт ошибку, редирект не включайте: закроете себе путь отладить выпуск.
Чеклист SEO-переезда на HTTPS
Поисковик склеит HTTP и HTTPS в один сайт, только если вы сами укажете конечное зеркало. Один 301 ведёт на канонический хост: https плюс www либо без www — один вариант на всю жизнь сайта. Внутренние ссылки, canonical, sitemap и robots тоже только https. Картинка, скрипт или CSS с http:// — это смешанный контент, и он ломает HTTPS: замок в браузере гаснет на корзине, в шапке или на виджете оплаты.
В Яндекс.Вебмастере и Google Search Console добавьте HTTPS-версию и переотправьте карту сайта. Счётчики, цели объявлений и адрес в системах аналитики переведите на https, иначе часть сессий разъедется по двум протоколам.
Смешанный контент ищут в шаблоне, корзине, подвале и внешних виджетах. Пока на боевой странице остаётся http:// в ресурсах, замок будет мигать, сколько ни крутите SSL Labs.
- Один 301 на конечный
https-хост, без цепочек черезwww. - canonical только https.
- sitemap и robots — URL с https.
- Внутренние ссылки в шаблоне и в контенте — https.
- Картинки, скрипты, CSS и виджеты без
http://. - HTTPS-сайт добавлен в Яндекс.Вебмастер и Search Console, карта переотправлена.
- Счётчики, цели и объявления смотрят на https.
Юридических обещаний по трафику нет: переезд убирает дубль зеркал, не «поднимает позиции сам по себе». Если сайт ещё собирают, HTTPS закладывают на запуске — так проще, чем чинить смешанный контент на живой витрине. Для задачи «какой сайт нужен бизнесу и зачем сразу HTTPS» разбор вариантов лежит на странице какой сайт нужен бизнесу и зачем сразу HTTPS.
Сбои, HSTS и минимум после установки
Замок то появляется, то пропадает — почти всегда виноваты цепочка, смешанный контент или DNS. Сначала смотрят A и AAAA: HTTP-01 и браузер могут уйти на разные адреса. Потом openssl s_client на 443: видна ли полная цепочка. Затем шаблон: не осталось ли http:// в картинках и скриптах. SSL Labs подтверждают картину снаружи, не заменяют эти три шага.
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Предупреждение, нет замка | нет crt, неполный ca-bundle, чужой CN | openssl s_client, CN/SAN, fullchain |
| HTTPS не открывается | DNS, закрыт 443, слушают только IPv4 или только IPv6 | A/AAAA, порт, listen |
| Let's Encrypt не выпускает | HTTP-01 ушёл не туда, чужой CAA | A/AAAA на этот сервер, CAA, порт 80 |
| Замок то есть, то нет | смешанный контент | картинки, скрипты, CSS, виджеты с http:// |
| Редирект крутит, клей зеркал едет | цепочка http www https | один 301 на канонический https-хост |
Протокол: TLS 1.2 как рабочий минимум, TLS 1.3 желателен. SSLv3, TLS 1.0 и TLS 1.1 отключают по рекомендации Mozilla SSL Config, не «потому что так принято в студии». HSTS усиливает HTTPS: браузер запоминает, что хост только с шифром. Срок max-age и флаг includeSubDomains берите из MDN. Preload включайте только после проверки всех поддоменов: если на одном из них ещё живёт HTTP, HSTS его отрежет, и откатиться быстро не выйдет.
OCSP stapling отдаёт статус отзыва вместе с crt, без лишнего запроса с устройства посетителя. Для форм и CRM на cookie сессии ставят флаги Secure и HttpOnly: иначе сессия уедет по открытому каналу. Если собираете персональные данные на формах, шифрование канала HTTPS — пункт проверки, не замена политике обработки ПДн.
HSTS preload не ставьте «всем подряд»: интернет-магазину с тестовым поддоменом без HTTPS это сломает отладку на месяцы вперёд.
Если переезжаете витрину или магазин и не хотите отлаживать цепочку в одиночку, пришлите домен — разберём сертификат, один 301 и смешанный контент до включения HSTS.
Коротко о выпуске, типах сертификата, редиректе и продлении.
Источники
Документация, на которую опираются шаги в статье.
- Let's Encrypt Documentation — ISRG / Let's Encrypt
- Configuring HTTPS servers — nginx.org
- Mozilla SSL Configuration Generator — Mozilla
- HTTPS — MDN Web Docs