如何在 HAProxy 上为单个 URL 显示空的错误页面?

如何在 HAProxy 上为单个 URL 显示空的错误页面?

问题

我有一个 URL,内容如下:

http://foo-backend.com/display_blank_when_errored

在 HAProxy 负载均衡器后面的站点上,假设前端站点是:

http://foo.com

当 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

相关内容