-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
4.8.10, 4.8.14
-
None
-
Severity 2 - Major
-
4
-
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
- Setup two Atlassian applications behind a proxy
- Setup HAProxy with HTX enabled on one of the applications (2.x has it active by default)
- 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.
Workaround
Disable the headers casing in your load balancer that's on the Target Application which Fisheye is trying to connect to (which would be Bitbucket or Jira Application)
- For HAProxy 2.1 and newer:
global 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 defaults option h1-case-adjust-bogus-client
- for Envoy - header_casing
- is related to
-
JRASERVER-70602 Application Link Status page fails to load due to Case-sensitive checks for Headers
- Closed