2016-09-11 4 views
0

Varnish 4 이전에는 vcl_fetch에서 다시 시작하여 vcl_recv에 도달하는 다른 플로우를 시작할 수있었습니다.Varnish 4.1 - 백엔드 응답에 따라 다시 시작하십시오.

버전 4에서는 로직이 클라이언트와 백엔드로 분리되어 있으므로 백엔드 응답에 따라 다시 시작할 수 있어야합니다. 내가 생각할 수있는 한 가지 방향은 vcl_synth를 백엔드와 클라이언트 사이의 미들웨어로 사용하고 있지만 백엔드는 특정 오류 코드 나 msg 만 표준 503 오류를 보낼 수 없다는 것입니다.

아이디어가 있으십니까?

답변

0

바니시 4.x에서 vcl_backend_* 동안 요청을 다시 시작할 수 없습니다.

당신은 vcl_backend_* 동안 return (abandon) 한 다음 vcl_synth 경우 resp.status == 503에 요청을 다시 시작할 수 있지만, 당신은 똑똑 조건을 구현하기 위해 vcl_synthvcl_backend_*에서 정보를 전송할 수 없습니다.

백엔드 측에서 반환 한 내용을 기반으로 vcl_deliver 중에 다시 시작할 수 있습니다.