Рубрики
Без рубрики

Шаги по настройке SSL на Tomcat и настройке автоматического перенаправления с HTTP на HTTPS

Tomcat перенаправляет HTTP на HTTPS. Перенаправление порта соединителя Tomcat, перенаправление 8080 на 8443 tomcat, Создание собственного SSL-сертификата, server.xml и web.xml для HTTPS.

Автор оригинала: Pankaj Kumar.

Защищенный уровень сокета (SSL) – это протокол шифрования, обеспечивающий безопасность сообщений через Интернет. Он работает на понятии закрытых и открытых ключей, и сообщения шифруются перед отправкой по сети.

Чтобы настроить SSL на Tomcat, нам нужен цифровой сертификат, который можно создать с помощью Java keytool для среды разработки. Для производственной среды вы должны получить цифровой сертификат от поставщиков сертификатов SSL, например, Verisign, Entrust, Lets’ Encrypt.

Создание SSL-сертификата

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

$ keytool -genkey -alias tomcat -keyalg RSA -keystore mycertificate.cert
Enter keystore password:
Re-enter new password:
What is your first and last name?
  [Unknown]:  Pankaj Kumar
What is the name of your organizational unit?
  [Unknown]:  Dev
What is the name of your organization?
  [Unknown]:  JournalDev
What is the name of your City or Locality?
  [Unknown]:  Bangalore
What is the name of your State or Province?
  [Unknown]:  Karnataka
What is the two-letter country code for this unit?
  [Unknown]:  IN
Is CN=Pankaj Kumar, OU=Dev, O=JournalDev, L=Bangalore, ST=Karnataka, C=IN correct?
  [no]:  Yes

Enter key password for 
	(RETURN if same as keystore password):
Re-enter new password:
$ ls
mycertificate.cert

Я использовал пароль “изменить его” для хранилища ключей и ключа, но вы можете использовать все, что захотите.

Теперь наш цифровой сертификат готов, и следующим шагом является включение порта связи HTTPS в Tomcat и настройка его на использование нашего цифрового сертификата для обеспечения поддержки SSL.

Tomcat HTTPS

Чтобы включить SSL на ~Tomcat_Installation/conf/server.xml файл и раскомментируйте следующую строку:


Чтобы избежать какой-либо неправильной установки сертификата, я поместил его в каталог tomcat conf. Теперь перезапустите Tomcat и попробуйте получить доступ к любому веб-приложению по протоколу https с портом 8443.

Tomcat Перенаправляет HTTP на HTTPS

Таким образом, мы можем получить доступ к любому веб-приложению как через порты HTTP, так и HTTPS. Мы можем настроить tomcat для перенаправления всех HTTP-запросов на порт HTTPS с некоторыми конфигурациями.

  1. В ~TomcatInstallation/conf/server.xml Для HTTP-соединителя установите порт перенаправления на порт HTTPS-соединителя. Это будет выглядеть примерно так:

Перезапустите tomcat сейчас, и все HTTP-запросы будут автоматически перенаправлены на HTTPS, т. е. https://localhost:8080/axis2 будет автоматически перенаправлен на https://localhost:8443/axis2

Примечание : Если вы не хотите указывать порты в URL-адресах, используйте 80 для HTTP и 443 для HTTPS. В этом случае вы можете пропустить первый шаг для автоматического перенаправления HTTP-запросов на HTTPS, поскольку он автоматически выберет порт по умолчанию 443.

Обновление: Если вы работаете над Tomcat, вас могут заинтересовать следующие сообщения.

  • Учебник по веб-приложениям Java
  • Учебник по сервлетам Java