HAProny自定義錯誤頁面有兩種方式,一種是由haproxy本機提供錯誤頁面,第二種是將錯誤重定向到一臺專用來提供錯誤界面的sorry server上來提供錯誤頁面html
haproxy還能夠捕捉錯誤碼,而後根據錯誤碼將錯誤頁面重定向到本機的錯誤頁面上,由haproxy來提供錯誤頁面linux
語法 errorfile errorcode /path/to/error/indexfile
示例:
修改haproxyp配置文件,在default配置段中配置errorfile選項nginx
defaults option http-keep-alive option forwardfor maxconn 100000 mode http timeout connect 300000ms timeout client 300000ms timeout server 300000ms errorfile 500 /usr/local/haproxy/html/500.html #捕捉錯誤碼爲500將其重定向,由本機來提供錯誤頁面 errorfile 502 /usr/local/haproxy/html/502.html errorfile 503 /usr/local/haproxy/html/503.html
建立錯誤頁面web
[root@haproxy ~]# echo "error page 503" > /usr/local/haproxy/html/503.html [root@haproxy ~]# echo "error page 502" > /usr/local/haproxy/html/502.html [root@haproxy ~]# echo "error page 500" > /usr/local/haproxy/html/500.html
將後端的web服務器中止後測試後端
[root@localhost ~]# curl www.mylinuxops.com error page 503 #顯示爲本地提供的503頁面
當由sorry server來提供錯誤頁面時,就須要使用errorloc 選項來捕捉錯誤狀態碼,而後將其重定向到後端的sorry server上,由sorry server來提供錯誤頁面
示例:
1.修改配置文件,捕捉錯誤狀態碼,送到後端sorry serverbash
defaults option http-keep-alive option forwardfor maxconn 100000 mode http timeout connect 300000ms timeout client 300000ms timeout server 300000ms errorloc 503 http://sorryserver/error_page/503.html #捕捉錯誤信息送到後端sorry server
2.配置後端sorry server服務器
[root@sorry ~]# echo "503 error" > /apps/nginx/html/error_page/503.html
3.測試訪問app
[root@localhost ~]# curl -L www.mylinuxops.com #將後端用於提供web服務的服務器關閉後進行測試 503 error #錯誤頁面被重定向了sorry server