Voglio restituire un codice di errore HTTP 204 se qualcuno tenta di accedere a un determinato percorso sul mio server Web. Potrei impostare uno dei miei server web per restituire un errore 204 e indicarlo come un backend. Tuttavia, dal momento che non vengono inviate informazioni, ho pensato che ciò potesse essere possibile a partire dallo stesso haproxy. Non c'è bisogno di disturbare i miei server web attuali.
Ho provato a creare un backend che avrebbe generato l'errore 204 come segue:
frontend ...
...
acl is_always204 path_beg /thisone
use_backend always204 if is_always204
...
backend always204
errorfile 404 /etc/haproxy-shared/errors/204.http
Il file 204.http contiene:
HTTP/1.0 204 No Content
Cache-Control: no-cache
Connection: close
Content-Type: image/png
Quando avvio haproxy, ottengo questo errore:
parsing [/etc/haproxy/haproxy:51] : status code 404 not handled, error customization will be ignored.
Penso che potrei fare questo nel modo sbagliato. Qualcuno può suggerire un modo per forzare haproxy a restituire un 204 per una data partita acl?
Content-Type
non ha senso in questo contesto, ma in realtà non ci sono abbastanza informazioni qui per capire quale sia il contesto. Ovviamente HTTP 204 viene comunque utilizzato raramente. La mia impressione circa 204 è che il server di origine dovrebbe probabilmente inviarlo, se esiste uno scenario in cui l'utilizzo ha senso.
503
errorfile? Non ci sono server back-end reali, quindi HAproxy dovrebbe servire la503
risposta.