Привязка своего ssl сертификата к ПО Jira Software или Jira Service Desk

Эта история началась в середине декабря 2017 года утром, когда вышло очередное обновление браузера chrome и он насильно начал редиректить на https протокол. Так случилось, что jira находилась на этом домене, но работала под не защищенным протоколом http и как принято — руки не доходили установить сертификат, ведь это не продакш сервер, но chrome решил за нас 🙂 Было принято решение в оперативном режиме перевести все поддомены на https и jira в том числе. Вот тут и началось…

При попытке перевести jira на https столкнулся с несколькими проблемами

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

Потратив кучу времени на поиск полезной информации, наткнулся в итоге на два блога, спасибо им за советы, ссылки на их статьи внизу. Сертификат подключается за 15 минут в 2 этапа.

Этап первый. Импорт существующей пары ключей SSL / сертификата в хранилище ключей Java.

Вам нужны Java и openssl и должны быть сертификат и ключ в формате PEM. Ключ называется jira.key и сертификат jira.crt.

Преобразовываем их в один файл PKCS12 с помощью команды:

openssl pkcs12 -export -in jira.crt -inkey jira.key> jira.p12

Вам будут предложены различные пароли (пароль для доступа к ключу (если установлен), а затем пароль для создаваемого файла PKCS12).

Импортируйте файл PKCS12 в хранилище ключей с помощью команды:

keytool -importkeystore -srckeystore jira.p12 -destkeystore jira.jks -srcstoretype pkcs12

Теперь у вас есть хранилище ключей с именем jira.jks,содержащее требуемый сертификат / ключ.

Этап второй. Настройка Jira Tomcat Server.

Открываем домашнюю директорию(папку) JIRA и находим файл server.xml (JIRA-INSTALL-DIR/conf)

Необходимо убрать комментирование (отключение в данном случае) использования ssl , прописать путь к хранилищу ключей и перезагрузить JIRA server

<Connector protocol="org.apache.coyote.http11.Http11Protocol"
   SSLEnabled="true"
   port="443" scheme="https" secure="true"
   useBodyEncodingForURI="true"
   maxHttpHeaderSize="8192"
   maxThreads="150" minSpareThreads="25"
   enableLookups="false" disableUploadTimeout="true"
   acceptCount="100"
   clientAuth="false"
   sslProtocol="TLS"
   keystoreFile="/opt/jira/jira.jks" keystorePass="jirahttps" keystoreType="JKS"
/>

Ура, так было просто! Надеюсь эта статья пригодится тем, кто столкнется с похожей проблемой. Добра всем 🙂

Благодарности:

John Graham

http://sys-adm.org.ua

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.