Автор оригинала: 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 с некоторыми конфигурациями.
В
~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