I've no idea what Amazon uses for Load Balancers, but I'm pretty sure that error message is the default error message served up by a Netscaler LB if no web services are available in the pool... -andy
-----Original Message----- From: Kevin Day [mailto:toasty@dragondata.com] Sent: Friday, June 06, 2008 11:40 AM To: Lasher, Donn Cc: nanog@nanog.org Subject: How not to make an error page (was: OT: www.Amazon.com down?)
On Jun 6, 2008, at 1:24 PM, Lasher, Donn wrote:
Checked, and doublechecked, not just me
www.amazon.com returns:
Http/1.1 Service Unavailable
Anyone have a URL for a network/etc status page, or info on the outage? Been that way for a while this morning.
-donn
Even worse, the page they're displaying is actually a HTTP 200 response code(OK/no error), with no "Don't cache this" header - which means their error page is considered cacheable by some browsers/ proxies. So, you may find users who tried to visit Amazon while they were down are still seeing it down long after they fix it.
Lesson to high profile websites: add these to your error pages so you don't have people complaining you're still down long after you're fixed.
* Don't return a 200 response code. Use 500 or 503. Nothing from 2xx or 4xx. * Add a "Cache-control: no-cache, must-revalidate, max-age=0" header, as well as an "Expires: 0" header for good measure. * If your server is really borked and you can't add headers at all, add '<META HTTP-EQUIV="Pragma" CONTENT="no-cache">' to the <head> section. That's not as good, but helps at least on the browser end. * If possible, add a timestamp to the page somewhere (even if it's in an HTML comment) so you can troubleshoot with users still seeing the error.
-- Kevin