Tôi hiện đang định cấu hình lại HAProxy bằng 1.5dev-17. Điều tôi muốn làm là trả về lỗi 404 khi không có phụ trợ để sử dụng cho một yêu cầu cụ thể.
Cấu hình hiện tại của chúng tôi sử dụng default_backend để định tuyến đến các máy chủ ứng dụng django của chúng tôi, nhưng khi có rất nhiều yêu cầu thăm dò (như kiểm tra bút) không khớp với bất kỳ phụ trợ nào được cấu hình khác, các máy chủ django của chúng tôi sẽ dừng lại khi họ thử để phục vụ các yêu cầu không hợp lệ này, cuối cùng trả về 404.
Tôi muốn phục vụ 404 từ HAProxy hơn là ủy thác cho các phụ trợ django. Tôi hiện đang đạt được điều này với một hack:
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
Và trong tệp 404.http, tôi đặt mã trạng thái 404 trong các tiêu đề. Điều này hoạt động, nhưng cảm thấy rất sai. Có cách nào tốt hơn để đạt được điều này với HAProxy không? Hoặc tôi nên sử dụng một phụ trợ thông thường và chỉ để xử lý đó phản hồi với 404?
HTTP/1.0 404 Not Found
theo sau là một số tiêu đề khác, sau đó là một dòng trống, sau đó là <html>
nội dung.