Saat ini saya mengkonfigurasi ulang HAProxy menggunakan 1.5dev-17. Apa yang ingin saya lakukan adalah mengembalikan kesalahan 404 ketika tidak ada backend untuk digunakan untuk permintaan tertentu.
Konfigurasi kami saat ini menggunakan default_backend untuk merutekan ke server aplikasi Django kami, tetapi ketika ada banyak permintaan menyelidik (seperti tes pena) yang tidak cocok dengan backend yang dikonfigurasi lainnya, server Django kami terhenti ketika mereka mencoba untuk melayani permintaan yang tidak valid ini, akhirnya mengembalikan 404.
Saya ingin melayani 404 dari HAProxy daripada mendelegasikan ke backend Django. Saat ini saya mencapai ini dengan retasan:
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
Dan dalam file 404.http saya mengatur kode status 404 di header. Ini berhasil, tetapi terasa sangat salah. Apakah ada cara yang lebih baik untuk mencapai ini dengan HAProxy? Atau haruskah saya menggunakan backend biasa dan membiarkannya merespons dengan 404?
HTTP/1.0 404 Not Found
diikuti oleh beberapa tajuk lainnya, lalu baris kosong, lalu <html>
konten.