JIRA is Slow Due to High Latency Connections While Using Reverse Proxy

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

Interaction with the JIRA application is slow.

Cause

JIRA pages pull many separate JavaScript, CSS and image files from the server. Since the Tomcat container instructs the browser to avoid caching, all content will be sequentially (in order of inclusion) checked from the server. This multiplies the connection roundtrip time.

The content on this page relates to platforms which are not supported by JIRA. Consequently, Atlassian cannot guarantee providing any support for it. Please be aware that this material is provided for your information only and using it is done so at your own risk.

 

 

PS : This article includes a Workaround as well as a Resolution section. Please follow any one of them.

Workaround

Configuring cache timeouts on the proxy level

If the application is published from a Reverse Proxy, configure cache timeouts as shown in the below example.

  1. An example for Apache httpd using mod_expires:

    LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule deflate_module modules/mod_deflate.so
    

    (info) Make sure it is enabled

  2. Control the caching headers sent to the client browser:

    ExpiresActive On
    ExpiresDefault "access plus 300 seconds"
    
    <Directory "/">
        ExpiresByType text/html "access plus 1 day"
        ExpiresByType text/css "access plus 1 day"
        ExpiresByType text/javascript "access plus 1 day"
        ExpiresByType image/gif "access plus 1 month"
        ExpiresByType image/jpg "access plus 1 month"
        ExpiresByType image/png "access plus 1 month"
    </Directory>
    

Resolution

Configuring caching at the browser level

Add the following Valve tag to the JIRA Context element (eg in server.xml or conf/Catalina/localhost/jira.xml) will restore normal client side caching:

<Valve className="org.apache.catalina.authenticator.FormAuthenticator"  securePagesWithPragma="false" />
Last modified on Nov 17, 2017

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.