Как добавить SSL в кластеры Jira / Confluence? - PullRequest
0 голосов
/ 26 февраля 2020

Мы используем этот тип кластера:

Балансировщик нагрузки

HAProxy

Установка как:

frontend jira.mysite.com
    bind 10.0.0.3:8080
    default_backend jira_servers

frontend confluence.mysite.com
    bind 10.0.0.3:8090
    default_backend confluence_servers

backend jira_servers
    balance roundrobin
    server server1 10.0.1.3:8080 check maxconn 20
    server server2 10.0.1.4:8080 check maxconn 20

backend confluence_servers
    balance roundrobin
    server server3 10.0.1.5:8090 check maxconn 20
    server server4 10.0.1.6:8090 check maxconn 20

Приложение

Jira

2 узла

Confluence

2 узла

Если добавить ssl в этот кластер, для Jira и Confluence официальный сайт имеет полное руководство:

https://confluence.atlassian.com/adminjiraserver086/running-jira-applications-over-ssl-or-https-990553839.html https://confluence.atlassian.com/conf72/running-confluence-over-ssl-or-https-982323781.html

Таким образом, следует добавить файл сертификата на все серверы кластера.

Но если добавить файл сертификата только на сервер балансировки нагрузки, как документ:

https://www.haproxy.com/blog/haproxy-ssl-termination/

Это также выглядит хорошо.

Так какая лучшая практика? Наша сеть имеет доступ только к серверу балансировки нагрузки, доступ к которому осуществляется извне. Но сервер приложений не позволяет. Нет ли необходимости устанавливать для них файл сертификата?


Еще один вопрос: если установить файл сертификата для этих серверов приложений, у нас есть эти файлы, которые уже созданы:

  • . csr
  • .pem

Но официальное руководство Jira and Confluence не показывало, как использовать эти файлы. Они предоставили руководство по использованию этого способа:

Слияние

keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore <MY_KEYSTORE_FILENAME>
keytool -importcert -alias tomcat -keystore <MY_KEYSTORE_FILENAME> -file <MY_CERTIFICATE_FILENAME>

Может быть, вы можете использовать наш текущий файл .csr здесь, но что такое MY_CERTIFICATE_FILENAME? Можно ли использовать здесь файл .pem?

Jira

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
              maxHttpHeaderSize="8192" SSLEnabled="true"
              maxThreads="150" minSpareThreads="25"
              enableLookups="false" disableUploadTimeout="true"
              acceptCount="100" scheme="https" secure="true"
              sslEnabledProtocols="TLSv1.2,TLSv1.3"
              clientAuth="false" useBodyEncodingForURI="true"
              keyAlias="jira" keystoreFile="<Jira_HOME>/jira.jks" keystorePass="changeit" keystoreType="JKS"/>

Нужно ли использовать файл .jks в качестве хранилища ключей здесь? И у нас нет пароля для текущего файла .pem, поэтому здесь тоже нельзя использовать файл .pem?

...