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.

• Allow tomcat to accept running behind ELB. Lets say we are running tomcat on
• port 8085. Change the connector configuration in {BAMBOO-INSTALL-DIR}/conf/server.xml
        <Connector
protocol="HTTP/1.1"
port="8085"

connectionTimeout="20000"
acceptCount="100"

enableLookups="false"

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.

• We do not want to use http any more. We would like to redirect http to https.
• For this we need tomcat to understand X-Forwarded-Proto. This header is sent by Elastic Load Balancer when it forwards the request to tomcat. For this add it to the <Engine> section in {BAMBOO_INSTALL_DIR}/conf/server.xml
            <Valve className="org.apache.catalina.valves.RemoteIpValve"
protocolHeaderHttpsValue="https" />
<security-constraint>
</security-constraint>