I am seeing super strange behavior and I am absolutely stumped. If I open up two tabs in Google Chrome (34), and in the first refresh our application (foo.ourapp.com), which makes an ajax requests (via jQuery) that takes 20 or so seconds to complete. Then in the other new tab hit refresh on (foo.ourapp.com), the second tab blocks waiting until the ajax request on the first tab finishes. Inspecting Chrome developer tools shows:
http://cl.ly/image/1s3V353o1v2c
However, if I open up Firefox and load up (foo.ourapp.com) while the long running ajax request is firing in Chrome, it loads fine. Thus, I have determined that the client (Chrome) is blocking requests client-side. However, according to http://www.browserscope.org/?category=network it says Chrome supports 6 connections per hostname, which should be fine, as I am only making two requests.
Any ideas on this? Pretty standard nginx config, with the following notable exceptions:
listen 443 deferred ssl spdy;
add_header Strict-Transport-Security max-age=31556926;
add_header X-XSS-Protection "1; mode=block";
add_header Access-Control-Allow-Origin $scheme://$account.myapp.com;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
Running nginx/1.5.12 with SPDY 3.1.