Custom maintenance page defined as an DNS record

If you are running a web page on server which needs to be taken down due to maintenace reasons you probably need to cope with unrachability of your page during the downtime. This is generally done by serving a simple maintenance page explaining the reasons of downtime and estimated time when the page will be up again.
Technically this probably means to run a dedicated web server which takes over the role of serving web page until the main web server is up again.

This clumsy scenario leads me to ask the question of  whether serving such a simple maintenance page couldn’t be done automatically without a need to run a separate web server for it.

I am persuaded this could be easily done by specifying an appropriate DNS record for an effected domain. The web browser could use the data stored in DNS TXT resource record (just like SPF does) of visited domain to serve a dynamic maintenance page (DMP). This would of course assume to define a new protocol to be understood by client’s web browser. But as the data would be stored as an DNS record, this shouldn’t be so difficult to implement whether by web browser itself or by using a special plugin.

This is a list of features I think should be possible to implement with DMP protocol.

  • Specify when to serve a maintenance page:
    1. after standard http(s) timeout
    2. immediately (this could override standard http protocol)
    3. specific time window
    4. combination of #1 and #3
  • Data to display
    • I think few special HTML5 tags could be understood (font size,colour).
      The data could be encoded with Base64 or something similar in case of more complex HTML record

The proposed solution isn’t meant to substitute a common practice of serving the maintenance page by dedicated “maintenance server” which is a necessary approach on frequently visited sites. The proposed solution would provide a last resort solution when a standard HTTP page couldn’t be accessed for any reason. This also could be an easy-to-use method of serving a maintenance page for those running a single web server for just limited number of users where configuring a redundant topology doesn’t make sense.

What do you think about such a rough proposal allowing people to handle maintenance pages easily ?

Posted in High availability, Server administration

Leave a Reply