2014-04-03 2 views
3

Load Balancer에서 실행중인 2 개의 파일 서버 (Apache 포트 -82)가 있습니다. 그리고 나는 2 개의 서버 (포트 -80)에서 도메인 (imgs.site.com)에 대해 성공적으로 바니시를 구성하고 서버에 대한 호스트 항목을 넣었을 때 제대로 작동하지만 LB를 통해 전역 적으로 액세스 할 때 중단되었습니다 의뢰. 내 구성에는 뭔가 빠져있는 것 같아. Pls 도움. 여기 LB 서버의 바니쉬

내 VCL 구성이며, 나는 그것이 기본적인 질문이있을 수 있습니다 모두 파일 1과 파일 2 서버

backend default { 
    .host = "127.0.0.1"; 
    .port = "82"; 
    .first_byte_timeout = 60s; 
    .between_bytes_timeout = 60s; 
} 

sub vcl_recv { 

    if (req.request != "GET" && 
     req.request != "HEAD" && 
     req.request != "PUT" && 
     req.request != "POST" && 
     req.request != "TRACE" && 
     req.request != "OPTIONS" && 
     req.request != "DELETE") { 

    return (pipe); 
} 



if (req.http.host == "imgs.site.com") { 

     set req.http.host = "imgs.site.com"; 
     set req.backend = default; 
     return (lookup); 
    } 

} 

을에서 동일한 구성을 가지고 우리가 니스에 익숙하기 때문에, 우리는 그것을 해결하는 방법을 잘 모릅니다 .

답변

0

도메인을위한로드 밸런서는 두 대의 컴퓨터에서 포트 80으로 요청을 전달하는 imgs.site.com에 대한 부하 분산 장치를 가지고 있습니다. 이들 각각은 포트 (port) 82에서 바니시 및 라우팅 요청을 다시 실행합니다. 일부 새로운 요청이 http 서버 A로 라우팅되고 나중에 동일한 요청이 다시 들어 와서 http 서버 B로 라우팅되면 두 번째 요청은 다음과 같이됩니다. 처음에는 속도가 느려지고 두 대의 컴퓨터에 캐시 된 동일한 조회로 끝날 것이므로 한 바니시를 설정하고 round-robin configuration에서로드 밸런서로 사용하면 캐시 성능이 향상됩니다.

그러나 요청이 들어오는 동안 varnishlog을 실행하여 바니시가 요청에 응답하는 방법에 대한 진단 정보를 얻을 수 있습니다. 니어 컴퓨터에서 백엔드로 요청이 있는지 확인할 수 있습니다

$ telnet 127.0.0.1 82 

하고 성공 메시지가 표시되는 경우, 이후 두 반환)와 기본 GET 명령 (입력 :

GET/HTTP/1.0 
을이 경우에, 그 자체가) 바니시 시스템에서 쉘에서 실행하여 작동

더 복잡한 것을 테스트 할 수 있습니다. x 인증 또는 POST 페이로드가 필요한 요청은 wget 또는 curl 명령을 사용합니다.

그리고 물론 http 서버가 로그를 확인하여 요청을 받고 있는지 확인하십시오.