Ой, ничего не найдено!

К сожалению, по вашему запросу пока ничего нет (но это только пока!), зато вы можете подписаться на нашу замечательную email-рассылку, чтобы не пропустить самое интересное в будущем.

  • 153

Настраиваем домен и SSL так, чтобы браузер перестал ругаться

  • 1 минута на чтение

Часть 11 из 12 · Серия «Свой сервер с нуля»

Сайт вы подняли, но браузер недоволен. В лучшем случае рядом с адресом висит серое «Не защищено». В худшем — посетителя встречает красный экран во весь размер с надписью «Подключение не защищено», и человек уходит, не прочитав ни строчки. Эти предупреждения отпугивают сильнее любого плохого дизайна.

Хорошая новость в том, что браузер ругается не случайно. За каждым предупреждением стоит конкретная причина, и у каждой причины есть конкретное лечение. Сейчас расшифруем жалобы браузера и заставим их замолчать — по-настоящему, а не нажатием «всё равно перейти».

Что вообще значит замочек

Замок в адресной строке означает две вещи сразу. Первая — соединение зашифровано, и между посетителем и сайтом никто не подслушивает. Вторая, не менее важная, — сайт подтвердил, что он действительно тот, за кого себя выдаёт. Доказательством служит сертификат, выданный доверенным центром сертификации (CA).

Открывая страницу, браузер быстро прогоняет проверки: соединение шифруется? сертификат настоящий? выписан на это имя? не просрочен? от центра, которому я доверяю? цепочка полная? Провалена любая — и вместо замка появляется предупреждение. Раньше настоящие сертификаты стоили денег, сегодня их бесплатно выдаёт доверенный всеми центр Let's Encrypt, так что причина «дорого» отпала.

Сначала домен: без него сертификат не выдадут

Прежде чем воевать с SSL, нужно разобраться с доменом, потому что одно без другого не работает. Чтобы выдать сертификат, центр должен убедиться, что домен действительно ваш. Делает он это просто: проверяет, что домен указывает на ваш сервер. Значит, A-запись у регистратора должна вести на IP сервера и уже «доехать», а порт 80 — быть открыт. Мы проходили это в статье про запуск сайта: сначала домен, потом шифрование. Если домен ещё не направлен на сервер, сертификат вы не получите при всём желании.

SSD/NVMe в комплекте
Пока вы это читаете, чей-то сайт уже летает
NVMe-диски, свежее железо и честные ресурсы без «соседей», которые съедают всю мощность. Разница чувствуется с первого запроса.
Разогнать проект

Заодно сразу решите, какой адрес у вас главный — с www или без, — и настройте, чтобы второй вариант переадресовывал на первый. И проследите, чтобы сертификат покрывал оба имени: это избавит от части будущих ругательств.

Расшифровываем жалобы браузера

Дальше — словарь предупреждений. Найдите своё.

«Не защищено», замка нет вовсе. Сертификата нет в принципе, сайт работает по голому HTTP. Лечение: выпустить сертификат через certbot и перевести сайт на HTTPS.

«Сертификат не является доверенным» (authority invalid). Сертификат есть, но вы выписали его сами себе. Браузер таким не доверяет — мало ли кто что себе нарисовал. Лечение: взять сертификат у настоящего центра, то есть у того же Let's Encrypt, бесплатно.

«Срок действия истёк» (date invalid). Самая частая повторяющаяся беда. Сертификат был, но протух. Лечение: продлить — и сразу настроить автопродление, чтобы это не повторялось каждые несколько месяцев. Certbot умеет обновлять сертификаты сам, без вашего участия; проверьте, что таймер работает.

«Имя не совпадает» (name mismatch). Сертификат выписан на example.com, а посетитель зашёл на www.example.com — или наоборот. Браузер видит несоответствие и бьёт тревогу. Лечение: выписать сертификат сразу на оба имени, и на голый домен, и на www.

Запуск за 2 минуты
VPN, бот или пет-проект — поднимем за пару минут
VPN, Telegram-бот, своё облако или пет-проект — арендуйте сервер за пару минут и проверьте идею в деле уже сегодня.
Создать сервер

«Неполная цепочка». Сертификат настоящий, но сервер забыл отдать промежуточные звенья, которыми он связан с доверенным центром. Часть устройств такое не принимает. Лечение: отдавать полную цепочку (fullchain) — certbot делает это автоматически, так что обычно проблема возникает при ручной настройке.

Замок есть, но «битый»: mixed content

Отдельный коварный случай. Сертификат в порядке, страница грузится по HTTPS, а замок всё равно перечёркнут или часть содержимого не отображается. Причина — смешанное содержимое (mixed content): сама страница пришла по защищённому каналу, но тянет картинки, скрипты или стили по старому, незащищённому http://. Браузеру достаточно одной такой ссылки, чтобы испортить замок.

Чаще всего это вылезает после перевода уже существующего сайта на HTTPS. Особенно у WordPress: в базе данных остаются старые ссылки с http://, прописанные ещё до переезда. Лечение: привести все внутренние ссылки на ресурсы к https или к относительному виду. Для WordPress — поправить адрес сайта в настройках и заменить http на https в самой базе.

Финальная гигиена

Когда сертификат на месте, добейте две вещи. Включите принудительную переадресацию с HTTP на HTTPS, чтобы никто случайно не открыл незащищённую версию, — certbot настраивает это сам при выпуске. И убедитесь, что автопродление действительно включено: именно забытое продление возвращает людей к экрану «срок истёк» спустя пару месяцев спокойствия.

Что показывает браузер В чём дело Что делать
«Не защищено», замка нет сертификата нет выпустить через certbot, перейти на HTTPS
«Authority invalid» сертификат самоподписанный взять у Let's Encrypt
«Date invalid» сертификат просрочен продлить и включить автопродление
«Name mismatch» не то имя в сертификате выписать на домен и на www
Замок «битый» ресурсы грузятся по http все ссылки перевести на https

Каждое предупреждение браузера — это просто одна проваленная проверка: шифрование, подлинность, имя, срок, доверие или цепочка. Найдите, какая именно сломалась, почините её — и замок снова зеленеет. Цель ведь не в том, чтобы заставить предупреждение замолчать кнопкой «всё равно перейти» (и уж точно не приучайте к этой кнопке посетителей), а в том, чтобы честно заслужить замок. Сделайте это один раз как следует — через Let's Encrypt и автопродление — и браузер перестанет ругаться насовсем.


Серия «Свой сервер с нуля»

Полный цикл — от выбора хостинга до рабочего сайта с почтой, Docker и бэкапами. Вы читаете часть 11 из 12.

1 месяц бесплатно
Сервер с нуля — без боли и гугления каждой команды
Понятная панель, готовые шаблоны и поддержка, которая объясняет по-человечески. Поднимите проект, даже если SSH видите впервые.
Попробовать бесплатно
  1. VDS, VPS, хостинг, облако — что это
  2. Nginx vs Apache: холивар, который пора закрыть
  3. Зачем арендовать сервер, если есть хостинг за 100 ₽
  4. SSH для тех, кто боится чёрного экрана
  5. Как не запороть сервер в первый день: топ ошибок
  6. SSH-ключи за 10 минут: вход без пароля
  7. Поднимаем свой сайт на VPS за вечер
  8. Ставим WordPress на свой VPS
  9. Свой почтовый сервер — героизм или мазохизм?
  10. Docker на VPS: спасение или пушка по воробьям
  11. Настраиваем домен и SSL, чтобы браузер не ругался — вы здесь
  12. Бэкапы, которые реально спасут

← Предыдущая: Docker на VPS: спасение или пушка по воробьям · Следующая: Бэкапы, которые реально спасут →

Хостинг Siteko

VDS с первого дня

Свой сервер Siteko под полным контролем

NVMe-диски, root-доступ и честные ресурсы без «соседей». Поднимите VPN, бота или прод-проект и масштабируйтесь без тесных рамок.

  • Root-доступ полная свобода настройки под ваш стек.
  • NVMe и свежее железо скорость заметна с первого запроса.
  • Перенос бесплатно поможем переехать без простоя.
Выбрать VDS