Application fails to load when using chrome or firefox browser. But works fine when accessing it through Internet Explorer.
book
Article ID: CTX212829
calendar_today
Updated On:
Description
When trying to access the API the webpage fails on reload.Works fine on IE but fails from Chrome and Firefox.
When reloaded in Chrome or Firefox we get error "ERR_INVALID_HANDLE".
Resolution
We need to take nstrace on netscaler and analyze it further.
*******************************************************
From nstrace files that were taken from chrome and IE. The reason it is failing in Chrome is as below: Below is the GET request sent by Netscaler to the backend server (you can filter with backend server IP and SNIP IP to track the backend communication in wireshark):==== GET /map/api/Geometry/Names/?wkids%5B%5D=3006&wkids%5B%5D=3021&wkids%5B%5D=4326&wkids%5B%5D=30020 HTTP/1.1Host: x.x.x.x.x.x.xx.xConnection: keep-aliveCache-Control: max-age=0Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAIwAAABwAXABpAAAAAAAAABYAAAAJAAkAFgAAAAQABAAfAAAABAAEAAUAgAAFYKI4gYBsR0AAAAPH1TL4IT3jyvYr2ULjowa2GEAZABtAC0AZQB4AHQALQBnAHIAZQByAGUAZwAwADAAMAAxAEoATwBOAEwAMAAwADAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkcyiTrAX5PcBGyS+8ne+PAQEAAAAAAADBUZhCyJ/RAU8e2/6Ymq+SAAAAAAIAEgBKAE8ATgBLAE8AUABJAE4ARwABABYASgBLAFAALQBTAFIAVgAwADEANwA3AAQAGABqAG8AbgBrAG8AcABpAG4AZwAuAHMAZQADADAASgBLAFAALQBTAFIAVgAwADEANwA3AC4AagBvAG4AawBvAHAAaQBuAGcALgBzAGUABQAYAGoAbwBuAGsAbwBwAGkAbgBnAC4AcwBlAAcACADBUZhCyJ/RAQYABAACAAAACAAwADAAAAAAAAAAAQAAAAAgAAAs2fOjwcDrTyvRaYVV++h10YLTRgZdunW1KWgfUs02uwoAEAAAAAAAAAAAAAAAAAAAAAAACQA8AEgAVABUAFAALwBnAGUAbwBzAGUAYwBtAGEAdwBlAGIAYgAuAGoAbwBuAGsAbwBwAGkAbgBnAC4AcwBlAAAAAAAAAAAAAAAAAHIalCdmGCtlgB+RMPTwDcc=Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36Accept-Encoding: gzip, deflate, sdchAccept-Language: en-US,en;q=0.8,sv;q=0.6Cookie: NSC_WTSW-HfpTfdnb=ffffffff56b44b8345525d5f4f58455e445a4a423660If-None-Match: "2015-09-28T11:22:03.1970000Z&en&JONKOPING\adm-ext-grereg0001" Below we see the backend server is replying with 304 Not Modified reply but with a Body Message as “null” which is causing the issue:=== HTTP/1.1 304 Not ModifiedCache-Control: no-cachePragma: no-cacheContent-Type: application/json; charset=utf-8Expires: -1Server: Microsoft-IIS/8.5X-CorrelationId: e81fc69e-d50f-4815-a65b-5a17fa9de676X-AspNet-Version: 4.0.30319Persistent-Auth: trueX-Powered-By: ASP.NETDate: Tue, 26 Apr 2016 14:31:02 GMT null According to HTTP RFC(7232) a 304 Response should not contain a message body, but in this case we have a message body in a 304 Response which is flagged as invalid response by Netscaler triggering the reset (9206- which means "HTTP tracking failed due to invalid HTTP request/response header")
as shown below
Snippet From RFC:
4.1. 304 Not Modified
The 304 (Not Modified) status code indicates that a conditional GET
or HEAD request has been received and would have resulted in a 200
(OK) response if it were not for the fact that the condition
evaluated to false. In other words, there is no need for the server
A 304 response cannot contain a message-body; it is always terminated
by the first empty line after the header fields.
So there can be 2 suggestion customer can go for:
- Check why backend server is sending “null” in the 304 Not Modified response and make the server not to send anything in body of 304 response.
- Create following rewrite rule on Netscaler so that we delete the “If-None-Match” header coming from the client and then sending to backend server. So that backend server does not reply with 304 response.
add rewrite action delete-if-none-match delete_http_header If-None-Matchadd rewrite policy rewrite-pol-header "HTTP.REQ.HOSTNAME.EQ(\"geosecmawebb.jonkoping.se\")" delete-if-none-match
Problem Cause
Backend server is replying with 304 Not Modified reply but with a Body Message as “null” which is against the RFC
Issue/Introduction
This articles talks about the issue where application load balanced on Netscaler fails to load API's when accessing it through Chrome or Firefox. But works when using Internet Explorer.
Was this article helpful?
thumb_up
Yes
thumb_down
No