2017-04-12 1 views
1

HAproxy는 AWS ELB 뒤에 있습니다. ELB를 제거하자마자 사용자 정의 오류 페이지를 얻을 수 있습니다. 하지만 ELB가 Haproxy 앞에 있으면 HTTP/1.1 504 GATEWAY_TIMEOUT Content-Length : 0 Connection : keep-alive를 얻습니다.ELB 뒤의 Haproxy

아무도 저에게 무슨 일이 일어나는지 말해 줄 수 있습니까? 감사합니다

ERRORFILE는 :

HTTP/1.0 403 Forbidden 
Cache-Control: no-cache 
Connection: close 
Content-Type: text/html 

<html><body><h1>403 Forbidden</h1> 
Request forbidden by administrative rules. 
</body></html> 
+0

ELB가 인스턴스를 건강한 것으로 표시합니까? 실패한 요청에 대해 HAProxy가 아무 것도 기록합니까? –

+0

예, ELB는 인스턴스를 건강한 것으로 표시합니다. 실패한 요청에 대해 HAProxy가 아무 것도 기록합니까? 아니요 –

답변

2

는 저와 동료는 같은 문제가 있었다. 타임 아웃을 수신 한 후이 유형의 http 코드에 대한 amazon 정의를 읽으면 내 오류 파일이 "잘못된 형식"이라고 생각했습니다. 많은 시도 끝에 우리는 CL-RF (새로운 라인)가 오류 파일 "헤더"에 재미있는 것을 발견했습니다.

HaProxy 기본 파일을 git (https://raw.githubusercontent.com/haproxy/haproxy/60220bbc4b6b3c4279d3c96232cf2c2461ecc55e/examples/errorfiles/503.http)에서 다운로드했으며 vi (m)에서 열면 헤더에^M (CR) 기호가 붙습니다. . 당신이 그것을 다운로드 할 수 없다면, 당신은 워드 패드 또는 그것 (dos)과 같은 것으로 그것을 쓰고 (단지 맨 위 부분) 그것을 유닉스 기계로 보낼 수 있습니다.

그래서 나는 그들의 헤더를 사용하여 파일에 내 글을 썼다. 이제는 모든 것이 잘 동작한다. 건배.

+0

대단히 감사합니다. Fernando. 그것은 내 문제를 해결 ... –

+0

@ FadhelGhorbel 그러면 틱을 클릭하여 대답을 수락하십시오 – Marged