将haproxyconfiguration为为某个ACL匹配返回204

我想要返回一个HTTP 204错误代码,如果有人试图访问我的Web服务器上的特定path。 我可以设置我的一个web服务器返回一个204错误,并指向haproxy作为后端。 然而,由于没有信息被发送,我认为这应该是可能从haproxy本身。 无需打扰我的实际Web服务器。

我试图创build一个后端,将生成204错误,如下所示:

frontend ... ... acl is_always204 path_beg /thisone use_backend always204 if is_always204 ... backend always204 errorfile 404 /etc/haproxy-shared/errors/204.http 

204.http文件包含:

HTTP/1.0 204 No Content Cache-Control: no-cache Connection: close Content-Type: image/png

当我开始haproxy时,我得到这个错误:

parsing [/etc/haproxy/haproxy:51] : status code 404 not handled, error customization will be ignored.

我想我可能会以这种错误的方式去做。 任何人都可以提出一种方法来强制haproxy返回给定的acl匹配204?

正如在注释中提到的那样,您不能为404指定错误文件,因为HAProxy将永远不会生成404.您必须使用类似503的HAProxy实际发出的并具有可configuration的错误文件。 您的204文件可以按原样使用,只需在您的configuration中将503replace为204即可。