Пошаговое руководство по правильному включению HTTPS или SSL на сервере Apache Tomcat — порт 8443

Опубликовано: 2021-04-03

Прошло почти 12 лет, как я начал использовать Apache Tomcat. Я считаю, что когда я делал свой первый проект для младшего школьного возраста, это было на Tomcat версии 1.x Сейчас уже на версии 8.0 . В основном я общался с сервером Tomcat в своей повседневной работе, просто не могу жить без него.

На Crunchify мы уже опубликовали почти 40 статей об Apache Tomcat . В большей части руководства я запускал сервер на порту 8080, который является портом по умолчанию, настроенным в файле server.xml .

В этом руководстве мы подробно рассмотрим все этапы how to enable HTTPS/SSL on Apache Tomcat Server .

Давайте начнем:

Шаг 1. Создать хранилище ключей

keytool : мы сгенерируем безопасный ключ с помощью команды keytool — инструмента управления ключами и сертификатами.

Команда:

Файл будет создан в папке /Users/Shared .

Я использую Mac OS X, поэтому замените свой путь соответствующим образом, если вы работаете в Windows. Я использовал пароль 123456 .

Создание crunchify.keystore для настройки HTTPS Apache Tomcat — советы Crunchify

Шаг 2. Создать запрос на подпись самоподписанного сертификата

Введите пароль: 123456

Шаг 3. Давайте сначала проверим, что tomcat работает на порту 8080 через HTTP.

Start сервер Tomcat с помощью команды: <tomcat_home> startup.sh .

Убедитесь, что вы находитесь в правильном месте пути tomcat.

Нажмите URL-адрес: http://localhost:8080 , чтобы убедиться, что сервер запущен и работает.

Убедитесь, что Apache Tomcat запущен

Шаг-4. Теперь проверьте экземпляр tomcat на порту 8443 через HTTPS.

  • Теперь проверьте порт 8443 (URL-адрес HTTPS/SSL).
  • URL-адрес обращения: https://localhost:8443
  • Вы должны увидеть сообщение об ошибке. Страница вообще не должна загружаться.

Ошибка запуска сервера Apache Tomcat без надлежащего сертификата

Шаг-5. Обновить файл /conf/server.xml

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

  • Откройте файл server.xml , расположенный в <tomcat_home>/conf/ , и измените настройки.
  • В нашем случае это папка /Users/Shared/apache-tomcat-9.0.30/conf .

Добавьте раздел ниже непосредственно в файл server.xml:

  • Здесь пароль 123456 , который я использовал на Step-1 .
  • Протокол: HTTP/1.1

Включите HTTPS в файле server.xml для Apache Tomcat.

Сохранить файл. Далее мы остановим и запустим сервер Tomcat.

Шаг-6. Остановите и запустите Apache Tomcat.

  • bash-3.2$ /Пользователи/Общие/apache-tomcat-9.0.30/bin/shutdown.sh
  • bash-3.2$ /Пользователи/Общие/apache-tomcat-9.0.30/bin/startup.sh

Шаг-7. Проверьте URL-адрес и сертификацию HTTPS: https://localhost:8443.

Теперь снова нажмите безопасный URL-адрес HTTPS, чтобы убедиться, что страница успешно загружена.

Хром:

  • По умолчанию Chrome Blocks all insecure HTTPS сайтов.
  • Включите Chrome flag для загрузки недействительных сертификатов для ресурсов, загруженных с локального хоста.
    1. Перейти в Chrome
    2. Открыть вкладку
    3. тип: chrome://flags/#allow-insecure-localhost
    4. Включить флаг из выпадающего списка
    5. Перезапустите Chrome

Google Chrome разрешает небезопасный локальный хост — Apache Tomcat

Сафари и Мозилла Фаерфокс:

  • Accept invalid certificate error и посетите сайт.

Вы должны увидеть загрузку страницы Apache Tomcat через HTTPS через порт 8443.

Apache Tomcat работает на порту 8443 через HTTPS

У вас все настроено. Вы заметили red padlock ? Не волнуйтесь. Мы не приобретаем SSL-сертификат у Verisign или Comodo.

В производственной среде вы можете не увидеть этот знак красного креста.

Нажмите на сертификат в браузере, и наш самоподписанный сертификат по умолчанию должен быть valid for 90 дней.

Ознакомьтесь с сертификатом Crunchify, который мы создали на шаге 1.

Бонусный балл:

Как проверить cert content с помощью команды keytool ?

Результат: