특정 ACL 일치에 대해 204를 리턴하도록 haproxy 구성 /thisone use_backend always204

누군가 내 웹 서버의 특정 경로에 액세스하려고하면 HTTP 204 오류 코드를 반환하고 싶습니다. 내 웹 서버 중 하나가 204 오류를 반환하고 haproxy를 백엔드로 가리 키도록 설정할 수 있습니다. 그러나 정보가 전송되지 않기 때문에 이것이 haproxy 자체에서 가능할 것이라고 생각했습니다. 실제 웹 서버를 귀찮게 할 필요가 없습니다.

다음과 같이 204 오류를 생성하는 백엔드를 만들려고했습니다.

frontend ...
    ...
    acl is_always204 path_beg /thisone
    use_backend always204 if is_always204
    ...

backend always204
    errorfile 404 /etc/haproxy-shared/errors/204.http

204.http 파일에는 다음이 포함됩니다.


HTTP/1.0 204 No Content
Cache-Control: no-cache
Connection: close
Content-Type: image/png

haproxy를 시작하면 다음 오류가 발생합니다.


parsing [/etc/haproxy/haproxy:51] : status code 404 not handled, error customization will be ignored.

나는 이것에 대해 잘못 가고 있다고 생각합니다. 누구든지 주어진 acl 일치에 대해 haproxy가 204를 반환하도록하는 방법을 제안 할 수 있습니까?



답변

주석에서 언급했듯이 HAProxy는 404를 생성하지 않으므로 404에 대한 오류 파일을 지정할 수 없습니다. HAProxy가 실제로 방출하고 구성 가능한 오류 파일이있는 503과 같은 것을 사용해야합니다. 204 파일은 그대로 사용할 수 있습니다. 구성에서 503 대신 503을 사용하십시오.