HAProxy自定義錯誤頁面
HAProny自定義錯誤頁面有兩種方式,一種是由haproxy本機提供錯誤頁面,第二種是將錯誤重定向到一臺專用來提供錯誤界面的sorry server上來提供錯誤頁面
由haproxy本機提供錯誤頁面
haproxy還可以捕捉錯誤碼,然後根據錯誤碼將錯誤頁面重定向到本機的錯誤頁面上,由haproxy來提供錯誤頁面
語法
errorfile errorcode /path/to/error/indexfile
示例:
修改haproxyp配置文件,在default配置段中配置errorfile選項
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
創建錯誤頁面
[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來提供錯誤頁面
當由sorry server來提供錯誤頁面時,就需要使用errorloc 選項來捕捉錯誤狀態碼,然後將其重定向到後端的sorry server上,由sorry server來提供錯誤頁面
示例:
1.修改配置文件,捕捉錯誤狀態碼,送到後端sorry server
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.測試訪問
[root@localhost ~]# curl -L www.mylinuxops.com #將後端用於提供web服務的服務器關閉後進行測試
503 error #錯誤頁面被重定向了sorry server