Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-7505

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


    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • 4.8.10, 4.8.14
    • Integrations
    • None

      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 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.

      Steps to Reproduce

      1. Setup two Atlassian applications behind a proxy
      2. Setup HAProxy with HTX enabled on one of the applications (2.x has it active by default)
      3. Configure the 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.

      The below exception is thrown in the atlassian-fisheye-<timestamp>.log file:

       WARN  [qtpxxxxxxx-xxx ] com.atlassian.applinks.core.DefaultApplinkStatusService DefaultApplinkStatusService-logApplinkError - Network error while attempting to retrieve status of Application Link '<applink-id>'

      No further logging is available in DEBUG or TRACE. Wire logging or HAR file is required to capture the headers.


      Disable the headers casing in your load balancer

      • For HAProxy 2.1 and newer:
                h1-case-adjust content-type             Content-Type
                h1-case-adjust x-arequestid             X-AREQUESTID
                h1-case-adjust x-xss-protection         X-XSS-Protection
                h1-case-adjust x-content-type-options   X-Content-Type-Options
                h1-case-adjust x-asen                   X-ASEN
                h1-case-adjust x-ausername              X-AUSERNAME
                option h1-case-adjust-bogus-client

            Unassigned Unassigned
            ashaleev Anton Shaleev
            1 Vote for this issue
            3 Start watching this issue