We are running bamboo server in AWS. We decided to use Elastic loadbalancer rather than exposing the tomcat server directly. For this to work we need two important configuration in Tomcat server of the Bamboo instance.

        <Connector
            protocol="HTTP/1.1"
            port="8085"

            maxThreads="150" minSpareThreads="25"
            connectionTimeout="20000"
            disableUploadTimeout="true"
            acceptCount="100"

            enableLookups="false"
            maxHttpHeaderSize="8192"

            useBodyEncodingForURI="true"
            URIEncoding="UTF-8"

            redirectPort="443"

            proxyName="bamboo.yourorg.org"
            proxyPort="443"
            scheme="https"
            secure="true"
        />

The redirectPort is the port that should be redirected to when ELB gets http request rather than https.

            <Valve className="org.apache.catalina.valves.RemoteIpValve"
                   remoteIpHeader="x-forwarded-for"
                   protocolHeader="x-forwarded-proto"
                   protocolHeaderHttpsValue="https" />
<security-constraint>
  <web-resource-collection>
    <web-resource-name>Protected Context</web-resource-name>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>
  1. Once you restart bamboo server you have automatic redirection from http to https