일치하는 acl이 없을 때 HAProxy에서 404 제공


15

현재 1.5dev-17을 사용하여 HAProxy를 재구성하고 있습니다. 내가 원하는 것은 특정 요청에 사용할 백엔드가 없을 때 404 오류를 반환하는 것입니다.

현재 구성은 default_backend를 사용하여 django 앱 서버로 라우팅하지만 다른 구성된 백엔드와 일치하지 않는 펜 테스트와 같은 많은 프로빙 요청이 있으면 django 서버는 시도 할 때 중단됩니다. 이러한 잘못된 요청을 처리하여 결국 404를 반환합니다.

장고 백엔드에 위임하는 대신 HAProxy에서 404를 제공하고 싶습니다. 나는 현재 핵으로 이것을 달성하고있다 :

frontend www
    ...
    default_backend nomatch

backend nomatch
    errorfile 503 /var/www/http/404.http

그리고 404.http 파일 내에서 헤더에 404 상태 코드를 설정했습니다. 이것은 작동하지만 매우 잘못 느낍니다. HAProxy로 이것을 달성하는 더 좋은 방법이 있습니까? 아니면 정기적 인 백엔드를 사용해야하고 그 핸들이 404로 응답하도록해야합니까?


404.http 파일의 내용은 무엇입니까?
Jason Floyd

3
@JasonFloyd HTTP/1.0 404 Not Found다음에 다른 헤더, 빈 줄, <html>내용 이옵니다 .
Josh Smeaton

답변:



2

비슷한 것을 원하면 이것은 내가 생각해 낸 것과 같습니다. 잘못 느꼈지만 실제로는 잘 작동하며 특정 URL을 블랙리스트에 올리는 것보다 훨씬 깨끗합니다. 의견이 잘못되었다고 생각하지 않도록 의견을 남기십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.