Je suis en train de reconfigurer HAProxy en utilisant la version 1.5dev-17. Ce que j'aimerais faire, c'est renvoyer une erreur 404 lorsqu'il n'y a pas de backend à utiliser pour une requête particulière.
Notre configuration actuelle utilise le default_backend pour router vers nos serveurs d'applications django, mais lorsqu'il y a un grand nombre de requêtes de sondage (comme un pen-test) qui ne correspondent à aucun des autres backends configurés, nos serveurs django s'arrêtent lorsqu'ils essaient de servir ces requêtes invalides, et retournent finalement un 404.
J'aimerais servir le 404 à partir de HAProxy plutôt que de déléguer aux backends de django. J'y parviens actuellement avec un hack :
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
Et dans le fichier 404.http, je définis le code d'état 404 dans les en-têtes. Cela fonctionne, mais c'est très mal perçu. Existe-t-il une meilleure façon d'y parvenir avec HAProxy ? Ou devrais-je utiliser un backend normal et le laisser gérer la réponse avec un 404 ?