Существует не мало ресурсов, выдающих бесплатные SSL, правда на 90 дней. Одним из способов получение сертификата является помещение ключей, подтверждающих Вас как владельцев ресурса, в диреторию с сайтом. Однако, делать это постоянно в ручную муторно и чревато вероятностью не успеть обновить прокисающие сертификаты. Не знаю на счёт остальных ресурсов, а https://letsencrypt.org/ предусматрели процесс автоматизации. Для реализации подключаем репу:
add-apt-repository ppa:certbot/certbot
apt-get update
Проверяем доступность пакетов:
apt-cache search certbot
Ну, и устанавливаем:
apt-get install certbot
Создаём в корне сайта директорию letsencrypt, с правами:
chown root:www-data /var/www/site/letsencrypt
chmod 755 /var/www/site/letsencrypt
Далее создаём файл конфигурации установленной приложухи:
rsa-key-size = 2048 # или 4096
# Адрес для напоминания о продлении
email = Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
text = True
# Директория в корне сайта, в которой будут создаваться файлы авторизации (под .well-known/acme-challenge/)
authenticator = webroot
webroot-path = /var/www/site/letsencrypt
Далее настройки Web-сервера. В качестве фронтэнда используется NGINX. В Конфигурацию виртуального хоста в секцию server добавляем инклуд с опцией location.
include /etc/nginx/for-ssl.conf;
root /var/www/aqua/forum/letsencrypt;
access_log /var/log/nginx/get-ssl-aqua.log main;
}
Перезапускаем Web-сервер:
/etc/init.d/nginx restart
и запускаем генерацию сертификатов:
certbot certonly --config /etc/letsencrypt/cli.ini -d site.domain -d www.site.domain
Параметром -d указываем все поддомены и созданный файл конфигурации параметром --config
В процессе выполнения могут предложить оформить подписку на новости и что-то там ещё (только один раз, при использовании впервые). Симлинки на сертификаты будут лежать в
/etc/letsencrypt/live/site.domain/