Подключение Let’s Encrypt к сайту и настраиваем apache или nginx

Генерация сертификатов и настройка авто обновлений

Создаем каталог для certbot и скачиваем его:

Далее, генерируем и настраиваем сертификат:

Описание параметров:

  • webroot — метод генерации и подключения сертификата. Этот метод необходимо указать только в том случае, если Ваш DNS-провайдер контролирует доступ к ресурсу по определённым протоколам (как, например, CloudFlare мониторит активность SSL);
  • webroot-path — директория, в которой расположены файлы сайта/домена;
  • renew-by-default — опция для автоматического обновления сертификата;
  • email — Ваш e-mail, нужен для получения данных о состоянии сертификата;
  • text — вывод информации о процессе генерации в текстовом виде;
  • agree-tos — опция согласия с Terms of Service;
  • d — (domain) домен, к которому можно применить сертификат. Можно указать несколько.

После генерации, в случае успеха, получаем следующее сообщение:

Это значит, что ключ и сертификат сгенерировались успешно, и теперь лежат по адресу

 

Конфигурация VirtualHost и 301 редирект для домена с http на https в apache

Теперь приступим к настройке Apache. Обязательно делаем бекап рабочего конфига и приступаем к редактирования:

Здесь, в самом верху файла, добавляем новую директиву VirtualHost со следующим содержимым:

Данная настройка будет автоматически перенаправлять всех входящих на версию сайта с SSL.

В основном VirtualHost меняем порт на 443:

Ниже вписываем конфигурацию SSL:

Описание переменных:

  • SSLEngine On — включение механизма шифрования;
  • SSLProtocol all -SSLv2 — разрешение использовать только SSLv2, т.к. v1 уже не является стойким;
  • SSLCertificateFile — путь к файлу сертификата (*.crt);
  • SSLCertificateKeyFile — путь к файлу ключа (*.rsa).

После всех изменений — перезагружаем Apache, предварительно включив mod_ssl и проверив конфиг на корректность синтаксиса:

Проверяем. Если всё сделано правильно — в адресной строке, рядом с именем сайта, должен быть зелёный замок.

 

Настройка TLS/SSL на web сервере — nginx

Сгенерируем Diffie-Hellman ключ

Добавим сертификаты в конфиг

Создадим второй файл с параметрами для настроек SSL

Сделайте резервную копиюконфига вашего виртуального хоста в который будем добаввлять ssl

Редактируем его

Я предлагаю конфигурацию nginx с реврайтами http на https и www на без www (nginx redirects. http to https and www to non-www)

Убеждаемся, что все ок и перезагружаем nginx

Обновление сертификата

Также возможно добавить в cron

Можно запустить обновление ипроверить требуется или нет в текущий момент обновление сертификата

Вывод

Добавим в cron обновление letsencrypt сертификатов

 

Дополнительно.

Сопоставление дефолтного конфига апача с названием файлов сертификатов, генерируемых летсэнкриптом:

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *