Бывают моменты когда за сертификат не хочется платить, а браузеры вешают предупреждение на Ваш сайт, так как на нём либо самоподписный сертификат, либо уже просрочен. Давайте разберем несколько способов получения сертификата.
1. Сертификат от Lets Encrypt.
Его можно получить разными способами. Можно на сервере запустить скрипт certbot, который поставит Вам все автоматически, но он не будет работать, если у Вас стоит какая-то панель управления (VestaCO, ISPmanager …), так как скрипт перезаписывает конфигурационные файлы. В результате чего сайты на панели могут работать неисправно.
Перейдём на сервер по SSH.
Для скачивания скрипта нужно выполнить команду:
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
Скрипт сохранился по пути /opt/letsencrypt. Данный способ подразумевает, что на сервере уже работают сайты, по этому для получения сертификата выполняем команду:
/opt/letsencrypt/letsencrypt-auto certonly -a webroot --webroot-path=/usr/www/nginx/example.com -d example.com -d www.example.com
Где, —webroot-path=/usr/www/nginx/example.com — рабочая (корневая) папка сайта
-d example.com -d www.example.com — домены, для которых мы выпускаем сертификат
После запуска введите адрес электронной почты (это даёт возможность восстановить ключи). Согласитесь с условиями пользования и дождитесь получения сертификата.
Вывод будет примерно таким:
Output: IMPORTANT NOTES: - If you lose your account credentials, you can recover through e-mails sent to example@mail.com - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2020-11-28. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - Your account credentials have been saved in your Let's Encrypt configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Let's Encrypt so making regular backups of this folder is ideal. - If like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Как видим, файлы сертификата сохранились по пути: /etc/letsencrypt/live/example.com/
В данной директории Вы найдёте следующие файлы:
cert.pem: сертификат для вашего домена
chain.pem: Let’s Encrypt цепь сертификатов
fullchain.pem: cert.pem и chain.pem
privkey.pem: Сертификат с приватным ключом
Теперь можете установить сертификат для Вашего сайта.
Так же, сертификат можно получить на сайте https://www.sslforfree.com/ , но авторы ограничили бесплатное получение до 3 сертификатов в месяц.
2. Сертификат от CloudFlare
Если вы используете cloudflare — то наверняка знаете что на нём есть возможность получить бесплатный сертификат на 15 лет, а главное доверенный.
Чтобы его получить — перейдите в свой личный кабинет cloudflare, найдите раздел SSL\TLS
Нажмите на вкладку Origin Server:
Нажмите на кнопку Create Certificate:
В открытом окне cloudflare сам уже установим нужные параметры. Просто нажимаете кнопку «Next» и получаем готовый сертификат:
Обратите внимание! Данный сертификат будет работать только если включено прокси cloudflare.