Наразі я переконфігурую HAProxy за допомогою 1.5dev-17. Що я хотів би зробити, це повернути помилку 404, коли для певного запиту немає жодного бекенда.
Наша поточна конфігурація використовує default_backend для маршрутування до наших серверів додатків django, але коли є ціла маса запитів (наприклад, тест на ручку), які не відповідають жодному з інших налаштованих програм, наші сервери django зупиняються, коли вони намагаються обслуговувати ці недійсні запити, зрештою повертаючи 404.
Я хотів би обслуговувати 404 від HAProxy, а не делегувати до програмного забезпечення джанго. Я зараз це досягаю злом:
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
А в файлі 404.http я встановлюю код заголовку 404 у заголовках. Це працює, але відчуває себе дуже неправильно. Чи є кращий спосіб досягти цього за допомогою HAProxy? Або я повинен використовувати звичайний бекенд і просто дозволити цій ручці відповідати 404?
HTTP/1.0 404 Not Found
супроводжуються деякими іншими заголовками, потім порожній рядок, а потім <html>
вміст.