Putting HTTPS / SSL JIRA behind an AWS Elastic Load Balancer

May 10, 2016

Update; the site is now at https://demo.easyagile.com/ as we rebranded the company, and the /conf/server.xml settings have changed (Jira 7.4). Thanks to Chad H for bringing this to my attention!

<Connector port="8080"
                   maxThreads="150"
                   minSpareThreads="25"
                   connectionTimeout="20000"
                   enableLookups="false"
                   maxHttpHeaderSize="8192"
                   protocol="HTTP/1.1"
                   useBodyEncodingForURI="true"
                   acceptCount="100"
                   disableUploadTimeout="true"
                   bindOnInit="false"
                   redirectPort="8443"
                   scheme="https"
                   proxyName="demo.easyagile.com"
                   proxyPort="443"
/>

 

Original Post

Quick writeup as I’ve struggled to get this working and now that it is I want to document for future reference.

Goal: Get JIRA Server working behind an Amazon Web Services (AWS) Elastic Load Balancer (ELB) with Secure HTTP / SSL

  1. My desired final URL was https://demo.arijea.com/
  2. Setup a new ELB (mind was pointing to an EC2 instance with JIRA Server)
  3. ELB Health Check can be HTTPS://SERVER:443/status
  4. Set JIRA Base URL to https://demo.arijea.com/
  5. Edit /conf/server.xml and add the following under Connector
    1. scheme=”https”
    2. proxyName=”demo.arijea.com”
    3. proxyPort=”443″
  6. Voila, it works – https://demo.arijea.com/
JIRA conf/server.xml configuration for AWS ELB load balancer with HTTPS

JIRA conf/server.xml configuration for reverse proxy with AWS ELB

JIRA Server AWS ELB Load Balancer HTTPS SSL