Установка SSL-сертификата на сервер Tomcat (формат PFX)
Вы можете установить SSL-сертификат на сервер Tomcat, чтобы он поддерживал безопасный доступ по HTTPS. В этой статье описано, как установить SSL-сертификат на сервер Tomcat.
В этом документе в качестве примера используется версия Tomcat tomcat9.0.13.
Перед установкой убедитесь, что порт 443 не занят. Если порт 443 уже используется, при установке сертификата привяжите другой порт.
Получение сертификата
- После выпуска сертификата мы предоставим вам файл сертификата (.zip). Архив содержит четыре папки, соответствующие четырём форматам сертификатов: Tomcat, Nginx, IIS, Apache. В этом документе для установки используется формат PFX, поэтому потребуется сертификат из папки IIS. (Разные папки отличаются только форматом файлов; использование файлов из других папок не вызывает конфликтов.)
- Папка IIS будет содержать три файла:
domain_com.pfx— файл сертификатаdomain_com.key— файл закрытого ключаpassword.txt— файл пароля сертификата
Установка SSL-сертификата
- Скопируйте полученный файл сертификата
domain_com.pfxиз локального каталога в каталог/usr/tomcat9.0.13/confна сервере Tomcat. В разных версиях Tomcat имена путей могут немного отличаться; перейдите к пути, соответствующему вашему серверу. - Отредактируйте файл
server.xmlв каталоге/usr/tomcat9.0.13/conf. В файлеserver.xmlдобавьте атрибутConnectorсо следующим содержимым:
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Путь к сертификату -->
keystoreType="PKCS12"
keystorePass="Пароль сертификата" <! -- Пожалуйста, замените на содержимое файла password.txt -->
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
- Сохраните файл конфигурации и выполните следующую команду в каталоге
bin, чтобы убедиться, что конфигурация указана правильно.
./configtest.sh
- Перезапустите Tomcat и выполните следующую команду в каталоге
bin:
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器
Тестирование SSL-сертификата
Введите в адресной строке браузера домен, к которому привязан SSL-сертификат, и проверьте, успешно ли установлен ваш SSL-сертификат. Если установка прошла успешно, в адресной строке браузера отобразится значок безопасного замка, при нажатии на который можно просмотреть информацию о сертификате.

Безопасная настройка автоматического перенаправления HTTP на HTTPS (необязательно)
Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, вы можете выполнить следующие действия:
- Отредактируйте файл
web.xmlв каталоге/usr/tomcat9.0.13/confи найдите тег</welcome-file-list>. - После закрывающего тега
</welcome-file-list>перейдите на новую строку и добавьте следующее содержимое.
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- Отредактируйте файл
server.xmlв каталоге/usr/tomcat9.0.13/conf, изменив параметрredirectPortна портconnectorдля SSL, то есть порт 443. Как показано ниже:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
- Сохраните файл конфигурации и выполните следующую команду в каталоге
bin, чтобы убедиться, что конфигурация верна.
./configtest.sh
- Если конфигурация не содержит ошибок, перезапустите сервер Tomcat, после чего сайт будет доступен по доменному имени с автоматическим перенаправлением с HTTP на HTTPS.
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器