499 errors in IE9 causing order duplicates
Paleo Tek
paleotek at gmail.com
Tue Oct 26 17:48:23 MSD 2010
We use nginx to reverse proxy to a farm of apache servers. It rocks.
But we've noticed that Internet Explorer 9 has been generating duplicate
orders. It does not happen every time, but often enough. It appears to
be an IE 9 issue, but I'm hoping the experts here can confirm my theory:
A request comes from an IE 9 client. Nginx passes the request to an
upstream apache server. For some reason, the IE 9 browser closes the
connection before the apache server returns results with return code
200. Nginx sees a closed connection, and generates a 499 error (client
problem, connection closed). IE 9 sees that, and immediately re-sends
the request. Nginx forwards to apache, receives the response, and
forward to the client, logging a 200. Log results are below
Does this seem correct? Anyone else seeing this behavior? Any
suggestions for a graceful way to handle this? (Duplicate orders BAD)
Thanks,
-Paleo
On nginx, we see:
XX.XX.XX.XX - - [14/Oct/2010:18:01:31 -0400] "POST /checkout.php
HTTP/1.1" 499 0 "https://www.somesite.com/precheckout.php" "Mozilla/5.0
(compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" "-"
XX.XX.XX.XX - - [14/Oct/2010:18:01:33 -0400] "POST /checkout.php
HTTP/1.1" 200 6996 "https://www.somesite.com/precheckout.php"
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" "-"
And on apache, the same requests log:
XX.XX.XX.XX - - [14/Oct/2010:18:01:30 -0400] "POST /checkout.php
HTTP/1.0" 200 6996 "https://www.somesite.com/precheckout.php"
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" google
XX.XX.XX.XX - - [14/Oct/2010:18:01:30 -0400] "POST /checkout.php
HTTP/1.0" 200 6996 "https://www.somesite.com/precheckout.php"
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" google
More information about the nginx
mailing list