Настройка Apache Tomcat для HTTPS

Вопрос или проблема

У меня есть приложение, которое использует HTTP вместо HTTPS. Для обеспечения безопасности мне нужно переключиться на использование HTTPS. Я использую apache_tomcat9.0.87.linux.rrg.

У нас есть центр сертификации (CA). Я сгенерировал сертификат от CA (WebCA11 CRL / RSA 4096). Файл представлен в формате .pfx. Он называется MyHostname.pfx.

Я также загрузил корневой сертификат SHA2 (возможно, моя терминология неверна), который дал мне 2 файла:

inhouse_root_CA_2_DER.crt

inhouse_root_CA_2_PEM.cer

У меня вопрос: что мне делать с этими файлами? У меня мало опыта работы с сертификатами или Apache. Хотя я хорошо разбираюсь в Linux.

Спасибо

Ответ или решение

Настройка Apache Tomcat для использования HTTPS

Для обеспечения безопасности веб-приложения, работающего на Apache Tomcat 9.0.87, вам необходимо перейти с протокола HTTP на HTTPS. Процесс требует настройки SSL-сертификатов и изменения конфигурации вашего сервера. В данном руководстве мы пошагово рассмотрим, как выполнить эту задачу, используя файлы сертификатов, которые вы уже получили.

Шаг 1: Конвертация сертификатов

Ваш сертификат находится в формате PFX (MyHostname.pfx). Этот формат иногда трудно использовать напрямую в Apache Tomcat. Поэтому сначала мы преобразуем его в формат, который Tomcat можно использовать непосредственно. Для этого используем утилиту OpenSSL.

  1. Установите OpenSSL (если он еще не установлен):

    sudo apt-get install openssl
  2. Извлечение закрытого ключа и сертификата из файла PFX:

    openssl pkcs12 -in MyHostname.pfx -nocerts -out mykey.key -nodes
    openssl pkcs12 -in MyHostname.pfx -clcerts -nokeys -out mycert.crt

    Важно: Не забудьте заменить MyHostname.pfx на путь к вашему файлу.

  3. (Опционально) Конвертация сертификата в формат PEM:

    Если ваш сертификат уже в формате PEM (файлы с расширением .crt или .pem), то этот шаг можно пропустить. Если требуется, выполните:

    openssl x509 -inform DER -in inhouse_root_CA_2_DER.crt -out inhouse_root_CA_2_PEM.pem

Шаг 2: Конфигурация Apache Tomcat для использования SSL

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

  1. Откройте файл server.xml:

    nano /path/to/tomcat/conf/server.xml
  2. Найдите секцию <Connector> для HTTP и измените её или добавьте новую секцию для HTTPS:

    Вы можете закомментировать существующий HTTP коннектор (например, строку 8080) и добавить новый коннектор для HTTPS на порт 8443 (или любой другой порт, который вы предпочтете):

    <!-- Замените или добавьте следующую секцию в файле server.xml -->
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
              maxThreads="150" SSLEnabled="true" 
              scheme="https" secure="true" 
              clientAuth="false" sslProtocol="TLS"
              keystoreFile="/path/to/mykeystore.p12"
              keystorePass="your_keystore_password"
              keystoreType="PKCS12" />

    Параметры:

    • keystoreFile: указывает на путь к файлу хранилища (при необходимости сконвертируйте файл с ключами).
    • keystorePass: пароль для вашего хранилища ключей.

Шаг 3: Перезапуск Apache Tomcat

После внесения всех изменений вам необходимо перезапустить сервер Tomcat, чтобы применить новые настройки.

/path/to/tomcat/bin/shutdown.sh
/path/to/tomcat/bin/startup.sh

Шаг 4: Проверка успешной настройки HTTPS

Откройте веб-браузер и введите следующий URL:

https://<ваш_домен>:8443

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

Заключение

Настройка HTTPS на Apache Tomcat — это важный шаг для повышения безопасности вашего веб-приложения. Следуя этому руководству, вы сможете успешно интегрировать SSL/TLS сертификаты и обеспечить безопасный доступ к вашим сервисам. Теперь ваше приложение готово к безопасной эксплуатации, и вы можете быть уверены в защите передаваемых данных.

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

Капча загружается...