Obecnie ponownie konfiguruję HAProxy przy użyciu 1.5dev-17. Chciałbym zwrócić błąd 404, gdy nie ma zaplecza do użycia dla konkretnego żądania.
Nasza obecna konfiguracja korzysta z default_backend do trasowania do naszych serwerów aplikacji django, ale gdy istnieje wiele żądań sondowania (takich jak test testowy), które nie pasują do żadnego z innych skonfigurowanych backendów, nasze serwery django zostają zatrzymane podczas próby do obsługi tych nieprawidłowych żądań, ostatecznie zwracając 404.
Chciałbym podać 404 z HAProxy zamiast delegować do backendów django. Obecnie osiągam to dzięki hackowi:
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
A w pliku 404.http ustawiam kod stanu 404 w nagłówkach. To działa, ale wydaje się bardzo złe. Czy jest lepszy sposób na osiągnięcie tego z HAProxy? A może powinienem używać zwykłego backendu i pozwolić temu uchwytowi odpowiadać za pomocą 404?
HTTP/1.0 404 Not Found
a następnie kilka innych nagłówków, następnie pusty wiersz, a następnie <html>
treść.