Как установить бесплатный SSL-сертификат Let’s Encrypt

    Если вам нужно быстрое решение для добавления SSL / TLS на ваш веб-сайт, то вам определенно следует использовать  проект Let’s Encrypt Исследовательской группы по Интернет-безопасности (ISRG)  .

    Есть много причин, чтобы иметь SSL-сертификат на вашем сайте.

    Let’s Encrypt начал поддерживать подстановочные сертификаты, используя свой новый протокол ACME2. Таким образом, мы можем иметь один SSL-сертификат, например * .example.com, который можно использовать во всех поддоменах, например test.example.com, test1.example.com и т. д.

    Certbot недоступен в репозитории Ubuntu по умолчанию. Запустите команду ниже, чтобы добавить репозиторий ppa.

    sudo add-apt-repository ppa:certbot/certbot

    Это добавит репозиторий, из которого можно установить certbot.

    Обновите пакеты, используя команду ниже.

    sudo apt update

    Запустите команду ниже, чтобы установить certbot

    sudo apt install certbot
     Убедитесь, что вы используете Certbot версии 0.22 или выше. Certbot до версии 0.22 не поддерживает подстановочный сертификат. 

    Шаги для генерации подстановочного сертификата

    $ sudo certbot certonly --manual -d *.example.com -d example.com --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
    
     Замените example.com вашим собственным доменным именем. Нам нужно создать сертификат для * .example.com и example.com. Поскольку по умолчанию подстановочный сертификат не будет сгенерирован для доменного имени без www. 

    Как только вы выполните команду выше, вы увидите следующий вывод.

    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    
    Plugins selected: Authenticator manual, Installer None
    
    Obtaining a new certificate
    
    Performing the following challenges:
    
    dns-01 challenge for example.com
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Please deploy a DNS TXT record under the name
    _acme-challenge.example.com with the following value:
    sdsdfj2812121m2n1nsmnsmnxzmxnzmxnzmxnzmxnzmxnzmxzx
    Before continuing, verify the record is deployed.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    
    Press Enter to Continue

    На этом этапе вам нужно создать DNS TXT-запись с  именем  _acme-challenge. Необходимо настроить для вашего регистратора домена, как GoDaddy и т. д.

    Вам нужно подождать некоторое время, так как новая запись DNS требует времени. Я подождал 10 минут и нажал ввод.

    Тогда вы получите следующий вывод.

    Press Enter to Continue
    
    Waiting for verification...
    
    Cleaning up challenges
    
    IMPORTANT NOTES:
    
    - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem
    
    Your key file has been saved at:
    /etc/letsencrypt/live/example.com/privkey.pem
    
    Your cert will expire on 2019-02-27. To obtain a new or tweaked
    
    version of this certificate in the future, simply run certbot
    again. To non-interactively renew *all* of your certificates, run
    "certbot renew"
    
    - If you like Certbot, please consider supporting our work by:
    
    Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
    Donating to EFF:                    https://eff.org/donate-le

    Поздравляю !! Ваш сертификат сгенерирован. Вы можете использовать этот подстановочный сертификат с любым поддоменом, который вы создаете для своего доменного имени.

    Затем вам нужно вручную настроить расположение виртуального хоста Apache / ngnix с правильным путем сертификата SSL.

    <VirtualHost *:443>
    
    ServerName example.com
    
    ServerAlias www.example.com
    
    ServerAdmin info@example.com
    
    DocumentRoot /var/www/www.example.com/public_html
    
    <Directory /var/www/www.example.com/public_html>
    
    Options -Indexes +FollowSymLinks
    
    AllowOverride All
    
    Order allow,deny
    
    allow from all
    
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
    
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    
    Include /etc/letsencrypt/options-ssl-apache.conf
    
    </VirtualHost>
    </IfModule>

    Теперь проверьте синтаксис ваших изменений конфигурации:

    sudo apache2ctl configtest

    Как только синтаксис вашего файла конфигурации будет правильным, перезагрузите Apache, чтобы загрузить новую конфигурацию:

    sudo systemctl reload apache2

    Certbot теперь может найти правильный блок VirtualHost и обновить его.

    Теперь все готово!

     

    Оригинал Medium

    Поделиться ссылкой:

    Оставить комментарий

    avatar
      Подписаться  
    Уведомление о