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