Tôi muốn trả về mã lỗi HTTP 204 nếu bất kỳ ai cố gắng truy cập một đường dẫn cụ thể trên máy chủ web của tôi. Tôi có thể đặt một trong những máy chủ web của mình trả về lỗi 204 và trỏ haproxy vào đó làm phụ trợ. Tuy nhiên vì không có thông tin nào được gửi đi, tôi nghĩ rằng điều này có thể được thực hiện từ chính haproxy. Không cần phải làm phiền các máy chủ web thực tế của tôi.
Tôi đã thử tạo một phụ trợ sẽ tạo ra lỗi 204 như sau:
frontend ...
...
acl is_always204 path_beg /thisone
use_backend always204 if is_always204
...
backend always204
errorfile 404 /etc/haproxy-shared/errors/204.http
Tệp 204.http chứa:
HTTP/1.0 204 No Content
Cache-Control: no-cache
Connection: close
Content-Type: image/png
Khi tôi bắt đầu haproxy, tôi gặp lỗi này:
parsing [/etc/haproxy/haproxy:51] : status code 404 not handled, error customization will be ignored.
Tôi nghĩ rằng tôi có thể đang đi về điều này sai cách. Bất cứ ai cũng có thể đề xuất một cách để buộc haproxy trả lại 204 cho một trận đấu acl nhất định?
Content-Type
không có ý nghĩa gì trong bối cảnh này, nhưng thực sự không có đủ thông tin ở đây để tìm hiểu bối cảnh là gì. Tất nhiên HTTP 204 hiếm khi được sử dụng. Cảm giác của tôi về 204 là máy chủ gốc có lẽ nên gửi nó, nếu có một kịch bản sử dụng nó có ý nghĩa gì cả.
503
chưa? Không có máy chủ phụ trợ thực tế, vì vậy HAproxy sẽ phục vụ503
phản hồi.