A palavra-chave backup
é o que usamos para isso. Veja este exemplo:
listen example_com 0.0.0.0:8001
...
option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www.example.com\r\nUser-Agent:\ HAProxy
server web01 10.1.31.21:80 cookie cookie_web01 check inter 5000 rise 2 fall 5 disabled
server web02 10.1.31.22:80 cookie cookie_web02 check inter 5000 rise 2 fall 5 disabled
server prx 10.1.31.10:9000 backup
Aqui ambos os servidores web01
e web02
estão definidos como disabled
, caso em que o backup
server prx
on 10.1.31.10:9000 será usado, o que serve uma página de manutenção. O servidor prx
no nosso caso é o próprio servidor HAProxy e na porta 9000 executa um HTTPD do Apache, servindo o conteúdo de manutenção:
<VirtualHost *:9000>
ServerName example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example.com/errors/
<Directory /var/www/example.com/errors/>
Options -Indexes
</Directory>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/systemDown.html -f
RewriteCond %{SCRIPT_FILENAME} !systemDown.html
RewriteRule ^.*$ /systemDown.html [R=503,L]
ErrorDocument 503 /systemDown.html
</VirtualHost>