Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,456,537
Community Members
 
Community Events
176
Community Groups

How to add SSL to Jira/Confluence clusters?

We are using this kind of cluster:

# Load balancer

HAProxy

Setting as:

```
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
```

# Application

## Jira

2 nodes

## Confluence

2 nodes

If add ssl to this cluster, for Jira and Confluence, the official site has fully guide:

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

In this way, should add certificate file to all the servers of the cluster.

But if add the certificate file to load balancer server only, as document:

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

It also looks good.

So which is the best practice? Our network has only allow load balancer server can be accessed from outside. But application server don't allow. Is it unnecessary to set certificate file to them?

---

Another question, if set certificate file to those application servers, we have these files which already be created:

- .csr
- .pem

But Jira and Confluence official guide didn't show how to use by these files. They provided a guide for using this way:

### 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>
```

Maybe can use our current .csr file here, but what's `MY_CERTIFICATE_FILENAME`? Can .pem file be used here?

### 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"/>
```

Is it necessary to use .jks file as keystoreFile here? And we don't have password for current .pem file, so can't use .pem file here, too?

1 answer

0 votes
DPKJ Community Leader Feb 26, 2020

@Raw Main  I have almost similar setup,

  • jira.domain -> Main Jira instance
  • staging_jira.domain -> Staging instance for Jira
  • docs.domain -> Confluence instance
  • internal.domain -> internal documentation instance

I am running all of them behind proxy server accessible on HTTPS using *.domain SSL certificate. And my Jira and Confluence are on HTTP with port blocked for external access.

So as per my experience using SSL certificate on proxy server (with virtual hosts) is best way. This way you make minimal changes to Jira/Conflence setup (you only need to add proxyName=*.domain, proxyPort=433, scheme=https to Connector in server.xml file).

 

Also added bonus is if in future if we need to add more services on same domain they can also benefit from same SSL certificate.

@DPKJ Thank you very much for your answer! That looks a very good approach.

I will do it as your advice.

Hi @DPKJ

Not sure whether this post is still available, I happened to find this one while configuring the SSL on my haproxy.

Do you meet any "Gadget feed URL" error after setting up the SSL on the proxy? I met this error once I finished configuring the self signed cert though I haved updated the base URL.

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events