Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-70602

Application Link Status page fails to load due to Case-sensitive checks for Headers

XMLWordPrintable

      Issue Summary

      Trying to configure a new application link or loading the Application link page to list the status of existing Applinks will show "NETWORK ERROR" in red.
      The REST client atlassian-rest-module:3.2.16 while reading headers (eg. Content-Type) does a case-sensitive lookup for them (headers name should be case-insensitive). So when headers are in lower case it can't parse them properly. The problem is triggered by the proxy server, which is converting all HTTP header names to lower-case.

      Environment

      • Use of proxy which converts the HTTP headers to lower-case.
        • Example HAProxy with native HTTP representation (HTX) enabled. This will force headers internally to be stored in lowercase.

      Steps to Reproduce

      1. Setup two Atlassian applications behind a proxy
      2. Setup HAProxy with HTX enabled on one of the application
      3. Configure Application link between the two applications

      Expected Results

      The application link can be configured and established

      Actual Results

      The application link is not configured correctly with "NETWORK ERROR" due to wrong headers.

      Diagnosis

      Generate HAR file in the process of configuring or loading the Application link page.

      • On Application link page load, locate /rest/applinks-oauth/latest/applicationlink/<applinkid>/authentication and see UNEXPECTED_RESPONSE in its body.

      Notes

      Workaround

      On the proxy side, disable the handling of headers to all lowercase:

      • Example HAProxy, set no option http-use-htx
      • Example for Envoy - header_casing

              kmacleod Kenny MacLeod
              znoorsazali Zul NS [Atlassian]
              Votes:
              11 Vote for this issue
              Watchers:
              35 Start watching this issue

                Created:
                Updated:
                Resolved: