Перейти к основному содержимому

Бесплатные TLS-сертификаты и HTTPS

Это руководство переведено с английского. Некоторые страницы, на которые ведут ссылки, доступны только на английском.

Как работает автоматический HTTPS, как выпускать и продлевать сертификаты и почему никогда нельзя публиковать сайт по HTTP.

HTTPS больше не опция. Браузеры помечают обычный HTTP как «Не защищено», поисковые системы ранжируют его ниже, а любой вход или платёж по нему действительно небезопасен.

Как это работает у нас

Мы используем сертификаты Let's Encrypt (бесплатные, автоматизированные, пользующиеся широким доверием), которые выпускает и продлевает Certbot. Когда вы привязываете домен к сайту, мы можем автоматически запросить сертификат и продлить его до истечения срока. Вы ничего не платите и ничего не должны помнить.

Выпуск сертификата

  1. Убедитесь, что DNS домена уже указывает на нас — центр сертификации проверяет, что вы управляете именем, а это возможно, только если имя разрешается сюда.

  2. В /panel/web откройте сайт, выберите SSL/TLS и добавьте домен.

  3. Мы запрашиваем сертификат и устанавливаем его. Обычно это занимает секунды.

Запросите и example.com, и www.example.com, чтобы ни один не показывал предупреждение.

Продление

Продление автоматическое. Расписание можно подтвердить в панели, а срок действия проверить в любой момент:

bash
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -subject -dates

Если продление не удалось, почти всегда причина в том, что домен перестал разрешаться к нам (изменился DNS), порт 80 закрыт (он нужен валидатору) или после повторных неудач достигнут лимит запросов. Устраните причину и повторите вручную.

Перенаправление HTTP на HTTPS

Один сертификат не мешает людям попадать на обычную HTTP-версию. Добавьте постоянное перенаправление — см. Принудительный HTTPS и перенаправления. После этого каждый посетитель попадает на защищённую версию, даже если вводит http://.

Проверьте как следует

bash
curl -I http://example.com      # should be a 301 to https://
curl -I https://example.com     # should be 200

И проверьте смешанное содержимое: страница, отданная по HTTPS, но загружающая изображение или скрипт по обычному HTTP, помечается браузерами как небезопасная. Загружайте всё по URL с https://.

За прокси или CDN

Если вы ставите CDN перед нами, цепочка сертификатов идёт CDN → посетитель И CDN → источник. Нужны сертификаты на обоих участках. Наша сторона выпускает для источника; CDN выпускает для имени, видимого посетителю. См. Что такое CDN и нужен ли он вам?.

Читайте также