HAProxy - colocando uma página de manutenção

5

Existe uma maneira fácil de dissecar todos os back-ends no haproxy e, em vez disso, veicular uma página de manutenção apropriada (para solicitações http)?

Eu li um pouco sobre a opção dissabled, que eu entendo é per-server, mas estou querendo saber se existe uma maneira de simplesmente parar o tráfego para todos os backends?

    
por UpTheCreek 12.03.2013 / 22:55

3 respostas

3

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>
    
por 13.03.2013 / 00:06
1

E sobre redirecionamento ou redirecionamento

Um exemplo simples de redirecionamento

server srv1 10.0.0.10:80 redir http://maintenance.domain.com check
O redirecionamento

pode ser definido em todas as opções por padrão.

    
por 12.03.2013 / 23:56
0

Este post me ajudou: link

Ele sugere configurar / customizar o manipulador de erros 503:

errorfile 503 /var/www/503maintance.html

Nota : você precisa incluir os cabeçalhos http no arquivo do manipulador de erros:

HTTP/1.0 503 Service Unavailable
Cache-Control: no-cache
Connection: close
Content-Type: text/html
    
por 15.01.2016 / 19:35

Tags