Оформление
Настройка SSL-сертификата Tomcat для получения доступа по протоколу HTTPS
Этот документ является руководством по работе со сторонними решениями или непродуктами и предоставляется только пользователям с возможностями самостоятельной разработки.
Если ваш сценарий не полностью совпадает с документацией, перейдите в раздел вопросов и ответов сообщества SailSoft: Q&A
1. Обзор
Включение протокола HTTPS требует использования действительного сертификата SSL, который содержит информацию об аутентификации, позволяющую пользователям общаться в зашифрованном виде.
В системе аутентификации с единым входом сертификат является очень важным ключом, от него зависит безопасность взаимодействия между клиентом и сервером.
В этой статье описывается только установка SSL-сертификатов для Tomcat под CentOS для удовлетворения требований HTTPS-доступа. Для других сред рекомендуется обратиться к эмитенту сертификата для установки.
2. Установка SSL-сертификата в Tomcat
2.1 Получение сертификатов
Прежде чем настраивать сертификат, его нужно запросить.
Пользователи должны приобретать сертификаты у поставщиков CA, а проверка подлинности сертификатов обычно осуществляется международно признанными организациями CA, такими как VeriSign и GlobalSign.
Примечание: В формальных средах не следует использовать для генерации сертификатов инструмент keytool, поставляемый вместе с JDK, так какэто вызовет предупреждения о небезопасности и сделает проект недоступным при встраивании в сторонние платформы.
2.2 Загрузка сертификатов
1) Войдите в каталог установки Tomcat с правами администратора и создайте папку cert.
2) Перейдите в папку %Tomcat_HOME%/cert с правами администратора и загрузите файл сертификата в эту папку.
Примечание 1: Формат сертификатов разных производителей не совсем одинаков и может не совпадать с форматом файлов, приведенным ниже.
Примечание 2: Если у вас есть ключевой файл, синхронизируйте загрузку и с ним.

2.3 Настройка файла server.xml
1) Зайдите в папку %TOMCAT_HOME%/conf от имени администратора и откройте файл server.xml с помощью текстового редактора.
2) В файле server.xml найдите следующий блок конфигурации:
<Коннектор port="8080" protocol="HTTP/1.1" &
nbsp; connectionTimeout="20000" redirectPort="8443" />
Добавьте следующий блок конфигурации над этим блоком, пожалуйста, измените keystoreFile, keystoreType и keystorePass в соответствии с адресом сертификата, форматом сертификата и паролем:
- keystoreFile поддерживает абсолютные пути или относительные пути в Tomcat.
- Порт коннектора - это порт, который вы будете использовать для последующего доступа, пожалуйста, убедитесь, что порт брандмауэра открыт для обычного доступа. Если вы хотите получить прямой доступ к домену без добавления порта, используйте порт 443 по умолчанию для HTTPS.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" & nbsp; maxThreads="150" SSLEnabled="true" scheme="
;https" secure="true" keystoreFile=&&
quot;/path/to/your/keystore/file" keystoreType=""
ваш_keystore_тип" keystorePass="ваш_keystore_
пароль" clientAuth="false" sslProtocol="TLS" />

Примечание 1: Не рекомендуется копировать и вставлять приведенный выше код напрямую, вы можете самостоятельно найти библиотеку конфигурации в файле, удалить соответствующие комментарии к коду и изменить описание сертификата.
Примечание 2: В приведенном выше примере кода формат сертификата - .pfx. Если формат сертификата - .crt, необходимо доработать код, пример приведен ниже:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" &
nbsp; maxThreads="150" SSLEnabled="true" scheme="https"> &
lt;SSLHostConfig sslProtocol="TLS"> <Certificate certificateFile="/opt/ssl_file/server.crt" certificateKeyFile="/opt/ssl_file/server.key"
certificateChainFile="/opt/ssl_file/root.crt" &
nbsp; type="RSA"/> </SSLHostConfig>.
</Connector
3) Сохраните и закройтефайл server.xml.
2.4 Подтверждение файла web.xml (необязательно)
Чтобы настроить автоматический переход HTTP-запросов на HTTPS, выполните действия, описанные в этом разделе.
1) Зайдите в папку %TOMCAT_HOME%/conf от имени администратора и откройте файл web.xml с помощью текстового редактора.
2) В файле web.xml убедитесь, что существует следующий блок конфигурации, и убедитесь, что значение тега <transport-guarantee> равно CONFIDENTIAL:
<Ограничение безопасности> <коллекция веб-ресурсов>
<web-resource-name>Защищенный контекст</web-resource-name> <url-
pattern>/*</url-pattern> </web-resource-collection> <user-data-
constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> &
nbsp; </user-data-constraint> </security-constraint>

3) Сохраните и закройтефайл web.xml.
2.5 Перезапуск Tomcat
Обратитесь к документации Shutting Down or Restarting FineBI Engineering , чтобы перезапустить сервер Tomcat для вступления конфигурации в силу.
2.6 Предварительный просмотр эффектов
С помощью браузера посетите сайт https://your_domain:port, чтобы убедиться в успешном доступе к нему. Если в адресной строке сайта появится маленький символ замка, значит, сертификат был успешно установлен.
- Ваш_домен - это ваше доменное имя или IP-адрес.
- Порт - это порт коннектора, настроенный в разделе 2.3.

3. условия
После того как Tomcat настроил SSL-сертификаты для доступа по протоколу HTTPS, вам нужно настроить параметры HTTPS, если вы хотите убедиться, что соединение websocket работает нормально.
Пожалуйста, войдите в систему Data Decision System под учетной записью администратора и проверьте, отображается ли настройка HTTPS в разделе "System Management > Управление системой > Общие".
- Не отображается: Это означает, что соединение websocket настроено правильно и не нуждается в изменении.
- Появляется: указывает на то, что соединение Websocket настроено неправильно, пожалуйста, обратитесь к документу для изменения: HTTPS Configuration WebSocket
