How not to make an error page (was: OT: www.Amazon.com down?)

Fred Reimer freimer at ctiusa.com
Fri Jun 6 19:17:53 UTC 2008


The actual headers returned are:

Server: NS_6.1
Content-Length: 62
Connection: close

503 Service Unavailable


Fred Reimer, CISSP, CCNP, CQS-VPN, CQS-ISS
Senior Network Engineer
Coleman Technologies, Inc.
954-298-1697


-----Original Message-----
From: Bjorn Townsend [mailto:eriktown at gmail.com] 
Sent: Friday, June 06, 2008 2:58 PM
To: Andy Litzinger
Cc: nanog at nanog.org
Subject: Re: How not to make an error page (was: OT: www.Amazon.com down?)

Good guess. AFAIK Amazon uses mostly Netscaler, with some homegrown
stuff and a few F5 boxes.

On Fri, Jun 6, 2008 at 11:49 AM, Andy Litzinger
<Andy.Litzinger at theplatform.com> wrote:
> 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 at dragondata.com]
>> Sent: Friday, June 06, 2008 11:40 AM
>> To: Lasher, Donn
>> Cc: nanog at 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
>>
>
>
>



-- 
Bjorn Townsend | eriktown at gmail.com



More information about the NANOG mailing list