问题
我有一个 URL,内容如下:
http://foo-backend.com/display_blank_when_errored
在 HAProxy 负载均衡器后面的站点上,假设前端站点是:
当 99% 的时间发生错误时,我希望显示配置的错误页面,errorfile
但仅在此单个页面上,我希望它返回空白响应。我该怎么做呢?
背景
这是使用 HAProxy 1.5。
我有一个在互联网上使用的 IFrame 页面,在极少数情况下,如果服务器宕机,我希望它不显示任何内容,而不是显示错误页面,以免影响用户体验。
答案1
您可以针对指定的 URL 使用不同的后端部分。例如:
frontend webserver
use_backend srv_noerrors if { url_beg /display_blank_when_errored }
default_backend srv_werrors
backend srv_noerrors
errorfile 503 /etc/haproxy/errors/503err_blank.http
backend srv_werrors
errorfile 503 /etc/haproxy/errors/503err_info.http