누군가 내 웹 서버의 특정 경로에 액세스하려고하면 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를 반환하도록하는 방법을 제안 할 수 있습니까?
이 상황에서 204가 올바른 상태 코드라고 생각하십니까? HAProxy 문서 에 따르면 204 및 404는 지원되는 리턴 코드가 아닙니다. 이것은 403 을 반환 하려는 것 같습니다 . 204는 요청이 서버로 전달되었음을 제안합니다.
—
Anthony Fammartino
흥미 롭군
—
Michael Hampton
Content-Type
이 문맥에서는 의미가 없지만 여기에 문맥이 무엇인지 파악하기에 충분한 정보가 없습니다. 물론 HTTP 204는 거의 사용되지 않습니다. 204에 대한 나의 생각은 그것을 사용하는 것이 전혀 의미가없는 시나리오가 있다면 원 서버가 아마도 그것을 보내야한다는 것입니다.
503
? 실제 백엔드 서버가 없으므로 HAproxy가503
응답을 제공해야합니다 .