Skip to main content
Help us improve Python packaging – donate today!

Maintenance HTTP server, serving a static directory.

Project Description

Provides a simple server serving a static directory, which can be configured as haproxy backup server, kicking in when all normal servers are offline.

How it works

It is simple HTTP server, serving a static directory. All requests which match no file in the static directory are responded with the index.html which is expected to be placed in the static directory.

This is useful when a user is visiting the page at any URL while the maintenance server is activated. The user then stays at the same URL and can refresh until the system is back online and he is at the same place as he was before.

Installation

The server can be installed using zc.buildout, which generates a pre configured bin/maintenance script:

[buildout]
parts += maintenance

[maintenance]
recipe = zc.recipe.egg
eggs = ftw.maintenanceserver
arguments = '${buildout:directory}/static', 8088

HAProxy configuration

When using HAProxy the server can be simply configured as backup server, which will only be used when all “normal” servers are offline:

backend plone
server plone1 127.0.0.1:8080 cookie p1 check downinter 15s maxconn 5 rise 1 slowstart 60s
server plone2 127.0.0.1:8081 cookie p2 check downinter 15s maxconn 5 rise 1 slowstart 60s
server maintenance 127.0.0.1:8088 check backup

Changelog

1.1.2 (2017-11-28)

  • Respond with 200 OK to resources request. [njohner]
  • Fix tests to be compatible with most recent ftw.testbrowser. [lgraf]

1.1.1 (2017-02-03)

  • Avoid caching maintenance server responses. [jone]

1.1.0 (2016-03-12)

  • Allow setting a different listening address as optional parameter. Default is still localhost. pass an empty string to listen to all addresses on a host. [fredvd]

1.0.2 (2015-01-21)

  • Fix broken pipe error when connections are closed early by the client. [jone]

1.0.1 (2014-03-21)

  • Ignore virtualHostMonster configuartions in paths. [jone]

1.0.0 (2014-03-21)

  • Initial implementation. [jone]

Release history Release notifications

This version
History Node

1.1.2

History Node

1.1.1

History Node

1.1.0

History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ftw.maintenanceserver-1.1.2.tar.gz (12.6 kB) Copy SHA256 hash SHA256 Source None Nov 28, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page