Бесплатный SSL сертификат можно получить на Let's Encrypt и ZeroSSL. В обоих случаях сертификат будет выдан только на 90 дней. ZeroSSL - это коммерческая организация, которая предлагает и сертификаты на год, но конечно уже не бесплатно.
Let's Encrypt находится под управлением некоммерческой Internet Security Research Group (ISRG) и принимает пожертвования. При этом существует множество ACME клиентов, позволяющих с лёгкостью получить и обновлять сертификат. У нормального хостинг провайдера панель управления должна позволять автоматически обновлять сертификаты. Let's Encrypt отлично интегрируется с панелями управления Plesk, cPanel и прочими. При этом управление доменом рекомендуется осуществлять при помощи Certbot, а не протокола ACME. Настройка на выделенном сервере не вызывает проблем. Да и Let's Encrypt работает через DNS API благодаря которому интегрирована в CloudFlare, GoDaddy, Namecheap, Рег.ру,...
Я воспользовался ACME-клиентом в виде BASH скрипта. Для начала скачал скрипт:
wget -O - https://get.acme.sh | sh
Для выпуска сертификата достаточно было выполнить команду:
./acme.sh --issue -d example.com -d 'www.example.com' -w /path/to/certfile
К сожалению, Valuehost предлагает SSL сертификат Positive SSL за 1500 рублей на год. Бесплатное обновление сертификата у этого хостинг-провайдера возможно на виртуальном хостинге только при помощи панели управления и не поддаётся автоматизации.
Если выполнить следующий код:
acme.sh --install-cert -d example.com \
--cert-file /path/to/certfile/in/apache/cert.pem \
--key-file /path/to/keyfile/in/apache/key.pem \
--fullchain-file /path/to/fullchain/certfile/apache/fullc hain.pem \
--reloadcmd "service apache2 force-reload"
то по нему сертификат автоматически перевыпускается каждые 60 дней. При этом нужен перезапуск сервера Apache, который на виртуальном хостинге не выполняется.
В результате пользоваться CRON для регулярной проверки и обновления сертификата не имеет смысла.
0 0 * * * "/home/user/.acme.sh"/acme.sh --cron --home "/home/user/.acme.sh" > /dev/null
Как обойти это ограничение, совершенно не могу понять. Certbot на виртуальном хостинге установить не могу. Для DNS использую сервера Valuehost, поэтому через DNS API обновлять сертификат у регистратора не получается. Есть ли какое-то ещё решение по обновлению сертификата при помощи, например, скрипта для виртуального хостинга? Или в бесплатном варианте придётся обновлять SSL сертификат вручную каждые 90 дней?
Обновление (5 июля 2020г. 22:47)
Разница в ценах на сертификаты шокирует. Благодаря моему посту, подсказали, что на HubSpot можно зарегистрировать сертификат PositiveSSL на год за 500 рублей. У используемого мной американского регистратора доменов Namecheap сертификат PositiveSSL стоит от 5 долларов в год при получении сертификата на 5 лет до 8 долларов за 1 год. Можно найти сертификат PositiveSSL и дешевле, но только не на официальном сайте, на котором ценник просто конский.
Journal information