HAProxy – build立一个维护页面

是否有一个简单的方法来disable所有后端haproxy,而是提供一个适当的维护页面(http请求)?

我已经读了一些关于dissabled选项,我明白是每个服务器,但我想知道是否有一种方法可以简单地停止所有后端的stream量?

backup关键字是我们用于这个。 看到这个例子:

 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 

这里两台服务器web01web02都被设置为disabled ,在这种情况下,将使用10.1.31.10:9000上的backup服务器prx,它提供维护页面。 在我们的例子中,prx服务器本身就是HAProxy服务器,在端口9000上运行一个Apache HTTPD,提供维护内容:

 <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> 

怎么样redirect或redir

一个简单的redir例子

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

redirect可以全部设置为默认选项。

这个博客文章帮助了我: https : //rimuhosting.com/knowledgebase/creating-a-maintenance-page-for-your-site

它build议设置/定制503error handling程序:

 errorfile 503 /var/www/503maintance.html 

注意 :您需要在error handling程序文件中包含http头文件:

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