Page out of date error thrown when modifying Application Access page in Jira server
Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.
Atlassian applications allow the use of reverse-proxies within our products, however Atlassian Support does not provide assistance for configuring them. Consequently, Atlassian can not guarantee providing any support for them.
If assistance with configuration is required, please raise a question on Atlassian Answers.
The following error message pops-up when you try to add any group to a JIRA Application from the Application Access page:
The page is out of date, please refresh the page.
- JIRA running behind a reverse proxy/web server e.g. Apache httpd or Nginx
- Problem is not reproducible when you bypass proxy. (see Bypass a proxy or SSL to test network connectivity for Jira server for a guide on how to bypass proxy when accessing JIRA)
When trying to grant a group Application Access, a PUT request is sent to Jira's REST API which utilizes ETag HTTP headers to ensure the request is updating the latest version available. If these headers are missing the REST API returns a HTTP error code, 412 Precondition Failed. This can be observed by capturing a HAR file as shown below and inspecting the If-Match header which is null:
This can happen if etag headers are disabled in the Apache proxy configuration (by default this should actually be enabled in Apache web server). This could be disabled with a setting like this in httpd.conf
Header unset Etag FileETag none
Nginx removes Etag headers when running as a reverse-proxy if gzip compression is enabled. This is a design choice by Nginx developers described further here
- For scenario #1, you would need to re-enable etag headers by removing the configuration that was used to disable it.
- For scenario #2, disable gzip compression in Nginx and enable native gzip compression in Jira.:
- Navigate through Administration > System
- Scroll down to find the Use gzip compression setting and turn this On.
- It should be noted that no discernible difference was noticed when comparing transfer payloads between Nginx compression and JIRA compression