当没有ACL匹配时,从HAProxy提供404服务


15

我目前正在使用1.5dev-17重新配置HAProxy。我想做的是在没有后端可用于特定请求时返回404错误。

我们当前的配置使用default_backend路由到我们的django应用服务器,但是当有很多与其他已配置的后端都不匹配的探测请求(如笔测试)时,我们的django服务器会在尝试时停止运行服务这些无效请求,最终返回404。

我想从HAProxy提供404服务,而不是委派给Django后端。我目前正在通过黑客实现这一目标:

frontend www
    ...
    default_backend nomatch

backend nomatch
    errorfile 503 /var/www/http/404.http

在404.http文件中,我在标题中设置了404状态代码。这可行,但感觉很不对劲。使用HAProxy是否有更好的方法来实现这一目标?还是应该使用常规后端并让该句柄响应404?


404.http文件的内容是什么?
杰森·弗洛伊德

3
@JasonFloyd,HTTP/1.0 404 Not Found后跟其他一些标题,然后是空白行,然后是<html>内容。
Josh Smeaton 2014年

Answers:



2

想要类似的东西后,我想到了同样的东西。感觉不对,但是在实践中效果很好,并且比尝试将特定网址列入黑名单要干净得多。只要确保发表评论,就不会有人认为这是不正确的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.