Установите бесплатный SSL-сертификат Let's Encrypt для Tomcat Server в Ubuntu

1- Что такое Let's Encrypt?

Один  SSL одного  website должен быть призанан авторитетной организацией, что это безопасно. Поэтому это является причиной почему вам стоит купить сертификат(Certificate) в авторитетной организации. В мире есть много авторитетных организаций предоставляющих сертификатỉ SSL как  Comodo, GeoTrust,...

  • TODO Link!
Let's Encrypt предоставляет бесплатный сертификат  SSL, автоматический и работает на благо общество. Управляется с помощью  Internet Security Research Group (ISRG).
Let's Encrypt предоставляет сертификатỉ SSL вида Domain Validation, то есть после установки, появится зеленый замок на адресной строке бразуера, когда пользователь получает доступ в ваш  website.
Несмотря на то что сертификаты  SSL у Let's Encryt бесплатные, они имеют действительность только 3 месяца, поэтому каждые 3 месяца вам нужно будет создать данный сертификат. Но это очень просто, поэтому не создаст вам много хлопот.
В данной статье я покажу вам как создать бесплатный сертификат  SSL Let's Encrypt в среде  Linux & Tomcat Server.

2- Создать сертификат SSL Let's Encrypt

Удостоверьтесь, что вы успешно установили  TomCat в Linux (Ubuntu Server,..).

Разверните ваше приложение на  Tomcat Server и получите доступ в него через ваш домен (Например  yourdomain.com):
  • http://yourdomain.com

Install Certbot

Certbot это малый инструмент, помогающий вам создать keys (Ключ) и signs (Подпись) сертификата  SSL, и автоматически зарегистрироваться с организацией  Let's Encrypt потом скачать сертификат  Let’s Encrypt на ваш  Server. Все очень просто.
Удостоверьтесь, что  Tomcat Server отключен (Shutdown). OK. Откройте окно  Terminal и выполните следующие команды:
sudo apt-get install software-properties-common

sudo add-apt-repository ppa:certbot/certbot

sudo apt-get update

sudo apt-get install certbot
После успешной установки  Certbot, вы можете использовать данный инструмент для создания сертификата  SSL для вашего домена:
# Example:
sudo certbot certonly --standalone -d   yourdomain.com

# Example:
sudo certbot certonly --standalone -d   devlayer.net
Certbot требует ввести ваш  email, это необходимо организации  Let's Encrypt для оповещения, когда вам нужно обновить сертификат, или оповещения связанные с безопасностью.
Согласитесь с условиями у Let's Encrypt:
OK, теперь папка содержащая информацию сертификата  SSL создана на вашем сервере.
  • /etc/letsencryt
  • /etc/letsencryt/live/{yourdomain.com}

3- Установить SSL Let's Encrypt для Tomcat

Используйте команду для разрешения (permission) файлам:
cd /etc/letsencrypt/live/yourdomain.com

chown root:root *.pem
Далее используйте команду для копирования файлов  cert.pem, chain.pem, privkey.pem ​​​​​​​, которые  вы создали в предыдущем шаге в папку  {Tomcat}/conf.
cd /etc/letsencrypt/live/yourdomain.com

cp cert.pem /root/Apps/tomcat9/conf

cp chain.pem /root/Apps/tomcat9/conf

cp privkey.pem /root/Apps/tomcat9/conf
Откройте файл  server.xml и добавьте код сниппет.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
     maxThreads="150" SSLEnabled="true">

   <SSLHostConfig>
        <Certificate certificateFile="conf/cert.pem"
                            certificateKeyFile="conf/privkey.pem"
                            certificateChainFile="conf/chain.pem" />
   </SSLHostConfig>

</Connector>
Перезагрузите  Tomcat Server, и получите доступ в ваше приложение с https:
  • https://yourdomain.com
  • https://yourdomain.com:8443