Je reconfigure actuellement HAProxy à l'aide de 1.5dev-17. Ce que je voudrais faire, c'est retourner une erreur 404 quand il n'y a pas de backend à utiliser pour une demande particulière.
Notre configuration actuelle utilise le default_backend pour acheminer vers nos serveurs d'applications django, mais quand il y a beaucoup de demandes de sondage (comme un stylo-test) qui ne correspondent à aucun des autres backends configurés, nos serveurs django s'arrêtent lorsqu'ils essaient pour servir ces demandes invalides, retournant finalement un 404.
Je voudrais servir le 404 de HAProxy plutôt que de déléguer aux backends 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, j'ai défini le code d'état 404 dans les en-têtes. Cela fonctionne, mais se sent très mal. Existe-t-il un meilleur moyen d'y parvenir avec HAProxy? Ou devrais-je utiliser un backend normal et simplement laisser cette poignée répondre avec un 404?
HTTP/1.0 404 Not Found
suivi de quelques autres en-têtes, puis d'une ligne vierge, puis du <html>
contenu.