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

Установка самоподписанного сертификата или SSL-сертификата Let’s Encrypt на Tomcat — это необходимый шаг для обеспечения HTTPS-соединения между клиентом и сервером Tomcat. Это руководство проведет вас через пошаговый процесс установки самоподписного сертификата или сертификата Let’s Encrypt на Tomcat.

Предварительные условия

  • Java, установленная на вашем сервере
  • Tomcat установлен на вашем сервере
  • Certbot, установленный на вашем сервере (только для установки сертификата Let’s Encrypt)

Сгенерируйте самоподписанный сертификат

Чтобы сгенерировать самоподписанный сертификат, мы воспользуемся командой keytool, которая поставляется вместе с Java. Следующая команда сгенерирует самоподписанный сертификат и сохранит его в файле с именем «tomcat.keystore».

$ keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

При появлении запроса укажите следующую информацию:

  • пароль keystore: пароль для защиты файла keystore.
  • имя и фамилия: доменное имя вашего сервера.
  • организационное подразделение: Название вашей организации.
  • организация: Название вашей организации.
  • город: Название вашего города.
  • штат: Название вашего штата или провинции.
  • код страны: Ваш двухбуквенный код страны.

Настройка Tomcat для использования хранилища ключей

После создания хранилища ключей нам нужно настроить Tomcat на его использование. Для этого нам нужно изменить файл server.xml файл, расположенный в conf каталоге вашей установки Tomcat.

Найдите следующий раздел:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

Добавьте следующую конфигурацию под элементом «Connector»:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="path/to/tomcat.keystore"
           keystorePass="password" />

Обязательно замените path/to/tomcat.keystore на фактический путь к файлу keystore, а «password» — на пароль keystore, который вы указали ранее.

Проверка самоподписанного сертификата

Теперь, когда мы настроили Tomcat на использование самоподписного сертификата, мы можем протестировать его, получив доступ к серверу Tomcat по HTTPS. Откройте веб-браузер и введите следующий URL:

https://localhost:8443

Если все настроено правильно, вы должны увидеть предупреждение о том, что сертификат не является доверенным. Это связано с тем, что самоподписанный сертификат не является доверенным по умолчанию. Вы можете перейти на сайт, нажав «Дополнительно», а затем «Перейти на localhost (unsafe)».

Генерация сертификата Let’s Encrypt

Чтобы сгенерировать сертификат Let’s Encrypt, мы воспользуемся инструментом Certbot. Certbot — это бесплатное программное обеспечение с открытым исходным кодом для автоматического обновления и установки SSL/TLS-сертификатов от Let’s Encrypt. Вы можете скачать Certbot с его официального сайта.

После установки Certbot выполните следующую команду, чтобы сгенерировать сертификат Let’s Encrypt:

$ certbot certonly --webroot -w /path/to/webroot -d example.com

Замените «/path/to/webroot» на фактический путь к веб-корневому каталогу Tomcat, а «example.com» — на имя вашего домена.

Настройка Tomcat на использование сертификата Let’s Encrypt

Теперь, когда мы сгенерировали сертификат Let’s Encrypt, нам нужно настроить Tomcat на его использование. Для этого мы выполним следующие команды:

Чтобы скопировать файлы SSL-сертификата и закрытого ключа в папку /opt/tomcat/conf , выполните следующие действия:

  1. Откройте терминал.
  2. Выполните следующую команду:
$ sudo cp /etc/letsencrypt/live/example.com/{cert,chain,privkey}.pem /opt/tomcat/conf/

Замените «example.com» на ваше реальное доменное имя.

Далее отредактируйте файл server.xml файл, расположенный в домашнем каталоге Tomcat (/opt/tomcat/conf в данном случае). Для этого выполните следующую команду:

$ sudo nano /opt/tomcat/conf/server.xml

Внутри server.xml Найдите раздел, который вы хотите изменить, и внесите необходимые изменения. Откомментируйте раздел, удалив символ <!-- и --> теги и добавьте данные сертификата, как показано ниже:

<Connector port="8443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true">
     <SSLHostConfig>
          <Certificate certificateFile="conf/cert.pem"
             certificateKeyFile="conf/privkey.pem"
             certificateChainFile="conf/chain.pem" />
     </SSLHostConfig>
</Connector>

Сохраните изменения и выйдите из редактора.

Проверка сертификата Let’s Encrypt

Теперь, когда мы настроили Tomcat на использование сертификата Let’s Encrypt, мы можем проверить его, получив доступ к серверу Tomcat по HTTPS. Откройте веб-браузер и введите следующий URL:

https://example.com:8443

Замените example.com на ваше фактическое доменное имя.

Если все настроено правильно, в адресной строке веб-браузера должен появиться зеленый значок замка, означающий, что сертификат является доверенным. Вы можете нажать на значок замка, чтобы просмотреть подробную информацию о сертификате.

Заключение

В этом руководстве мы рассмотрели пошаговый процесс установки самоподписного сертификата или сертификата Let’s Encrypt на Tomcat. Связь HTTPS необходима для безопасной передачи данных между клиентом и сервером, поэтому важно убедиться, что ваш сервер Tomcat использует действительный сертификат SSL/TLS.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *