Как прикрутить 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.