Atlassian documentation on Apache configuration:
https://issues.atlassian.com/kb/proxying-atlassian-server-applications-with-apache-http-server-mod_proxy_http-806032611.html

Example Apache Configuration:

<VirtualHost 10.11.12.13:80>
ServerName documentation.example.com
ServerAliaS documentation
 
ProxyPreserveHost On
RewriteEngine on
# Redirect http traffic to https
RewriteRule ^/(.*)$ https://documentation.example.com/$1 [L,R]
</VirtualHost>
 
<VirtualHost 10.11.12.13:443>
ServerName documentation.example.com
 
ErrorLog /var/log/httpd/documentation.example.com-ssl_error_log
TransferLog /var/log/httpd/documentation.example.com-ssl_access_log
CustomLog /var/log/httpd/documentation.example.com-ssl_request_log ssl_combined
 
ProxyPreserveHost On
ProxyRequests Off
 
ProxyPass /synchrony  http://localhost:8091/synchrony
<Location /synchrony>
    Require all granted
    RewriteEngine on
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
    RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
    RewriteRule .* ws://localhost:8091%{REQUEST_URI} [P]
    RequestHeader unset Authorization
</Location>
 
 
ProxyPass / http://localhost:8090/ retry=2 acquire=3000 timeout=120 Keepalive=On
ProxyPassReverse / http://localhost:8090/
 
LogLevel info
 
Include conf.d/ssl.inc
 
</VirtualHost>

 

Very often, multiple applications run on the same server. Having SSL configuration in one place makes sense.

We like to include the following into VirtualHosts that should be configured with SSL Include conf.d/ssl.inc

 

SSLEngine on
SSLHonorCipherOrder On
SSLProtocol all -SSLv2 -SSLv3
SSLProxyProtocol all -SSLv2 -SSLv3
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
SSLCertificateFile /etc/pki/tls/certs/wildcard/wildcard.example.com.crt
SSLCertificateKeyFile /etc/pki/tls/certs/wildcard/wildcard.example.com.key
SSLCertificateChainFile /etc/pki/tls/certs/wildcard/wildcard.example.com.ca-bundle

 

APPLICATION_HOME:/conf/server.xml

Locate the connector in server.xml.

When a proxy server behind SSL serves the application, changes to server.xml are required.

Because Kerberos tokens in some environments may exceed the default 8K bytes, our recommendation is to increase maxHttpHeaderSize. 

proxyName="documentation.example.com"
proxyPort="443"
scheme="https"
secure="true"
maxHttpHeaderSize="32768"