Static HTML fallback pages

Could there be, for each domain, a customer-supplied static HTML fallback page, such that whenever the domain is out of action for more than say one hour, Dreamhost will switch the DNS to point at that page.

The people selling alternative African adventures say they have submitted a “people are dying” ticket and nothing has happened for more than 12 hours. Their website is saying “403 forbidden”. It would be better if it could give at least a telephone number that their customers can call if they are being cornered by lions.

DNS propagation takes time (many hours), I don’t think we’d want to deal with this each time our sites go down for a short while. It will also take time for DNS to propagate the change back to normal when the site is back up, so lots of people would be getting the fallback page while the site is already up.

If you really want use DNS for this purpose, you can use Dreamhost’s API to build something that changes the DNS to point somewhere else when your site is down (*): you’d need to monitor if your site is up and make the API call from a computer somewhere else.

  • I am not recommending this solution quite the contrary, just saying it’s possible.

I agree with Otto that DNS generally shouldn’t be touched for precisely the reasons he stated above.

Flipping the Redirect in Panel, however, “propagates” in 5 minutes :wink:

Have a standby at another location and if server fails here use Manage Domains to Redirect the domain to the failover location. If database driven, you could whitelist the server here so it can feed from DH database - although that’s quite a bit more involved. Better to have a maintenance page… but it could be done if you have time to set it all up. You’d need to think about things like keeping search engines from spidering the backup location to avoid duplicate penalties, etc. if you’re running a mirror like that.

For a “Back Soon!” page with a Contact Us form it would be a quick’n’easy (albeit hacky) solution.

Thank you for your comments. Something feels undefinably wrong with the idea of Dreamhost customers individually making their own arrangements, each one presumably involving a minimal hosting account with another company, in order to improve the downtime experience. Especially since Dreamhost staff should have a better idea than their customers of how long the expected downtime would be.

Here is another idea, but it involves a convention which would have to become widely known before it would be useful.

Each domain could have a standardly-named subdomain (e.g. which always points to a resilient HTML page giving the current status. Normally it would say “Running Normally”, but when there is downtime, Dreamhost staff would update it with reassuring information.

An email alert of long term expected outage would be enough. I’ve never heard of anyone doing some kind of automatic DNS redirect as suggested, it seems like a bad idea. If your site’s gonna go down for that long, you’ve got plenty of time to get informed about it and take more serious measures. I have yet to see an outage that long with DH.

It’s theoretically possible. I know that you can set up severs to have a default ‘This domain doesn’t exist, even though DNS says it lives here’ page, but honestly they’re really hit or miss.

The heart of the problem is we’re not really in charge of DNS propogation. No one-person is. When we move you, we lower the TTL on your domain, so that tells everyone “Hey, keep this information is only valid for X hours” (on a major move, I’ve seen it dropped to 5 minutes). Then, as each DNS server connects to your domain, it checks “Has it been 5 minutes? Let me see what the IP address is and update!” It then caches the information until the next time.

Now, no matter how low we set that, it can still take 72 terrible hours to push out world wide. It usually doesn’t, but that is the maximum time allotted. In part this is because of the caching. Caching is good, though, since it makes everyone’s sturdy tubes that much faster, but in these cases, is totally frustrating.