Как прикрутить SSL к бесплатному домену
1. Устанавливаем Snapd
2. Далее запускаем:
sudo snap install --classic certbot
3. И привязываем команды:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Проверку домена можно осуществить в нескольких режимах:
4 (1). По текстовой записи у домена в DNS: (используем в нашем случае)
sudo certbot certonly --authenticator manual --preferred-challenges dns
4 (2). По текстовому ответу (OK 200, text/plain) по адресу http://(ваш домен):80/.well-known/acme-challenge/{путь}
sudo certbot certonly --authenticator manual
Используем первый вариант:
В результате certbot выдаст набор символов для проверки принадлежности домена через DNS-01.
Далее на хостинге duckdns делаем http запрос с выданном ранее ключом в формате https://www.duckdns.org/update?domains={YOURVALUE}&token={YOURVALUE}&txt={YOURVALUE}[&verbose=true][&clear=true]:
Нажимаем Enter и видим, что сертификаты сгенерировались:
Далее добавим их в наш любимый апач
<VirtualHost *:443>
<Directory «/var/www/html»>
AllowOverride All
</Directory>
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /net-runner.duckdns.org/cert.pem
SSLCertificateKeyFile /net-runner.duckdns.org/privkey.pem
SSLCertificateChainFile /net-runner.duckdns.org/chain.pem
</VirtualHost>
Выполним:
sudo service apache2 restart
privkey.pem — приватный ключ для сертификата
Используется Apache для SSLCertificateKeyFile и nginx для ssl_certificate_key.
cert.pem (сертификат сервера)
Используется Apache для SSLCertificateFile.
chain.pem (сертификат цепочки)
Он же используется Apache для SSLCertificateChainFile.
fullchain.pem (соединение chain.pem и cert.pem)
Он же используется nginx для ssl_certificate.