Мы используем этот тип кластера:
Балансировщик нагрузки
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/
Это также выглядит хорошо.
Так какая лучшая практика? Наша сеть имеет доступ только к серверу балансировки нагрузки, доступ к которому осуществляется извне. Но сервер приложений не позволяет. Нет ли необходимости устанавливать для них файл сертификата?
Еще один вопрос: если установить файл сертификата для этих серверов приложений, у нас есть эти файлы, которые уже созданы:
Но официальное руководство 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?