2011-10-31 4 views
2

정리 요청을 localhost로 제한하기 위해 default.vcl의 맨 위에 간단한 acl을 추가 한 후 Varnish가 다시 시작되지 않습니다. 내 기본 VCL은 수정되지 않습니다. default.vcl은 다음과 같습니다 :Varnish 기본 VCL 액세스 제어 목록

backend default { 
    .host = "127.0.0.1"; 
    .port = "8080"; 
} 

acl purge { 
    "localhost"; 
} 

백엔드 지시문 위 또는 아래에 acl 선언을 삽입해도 상관 없습니다. Varnish 버전 3.0.2.

매우 간단한 구성이어야합니다.

답변

2

디버그 모드에서 varnishd를 실행하면 오류가 발생한 위치가 표시됩니다. 예 :

# varnishd -d -f /etc/varnish/default.vcl 

Message from VCC-compiler: 
Expected an action, 'if', '{' or '}' 
('input' Line 32 Pos 6) 
    resp.http.Cache-Control = "max-age=60"; 
-----#######################---------------- 
+1

감사합니다. 이로 인해 문제의 원인이되는 줄을 찾을 수있었습니다. V3에서 삭제를위한 VCL 구문이 변경되었습니다. https://www.varnish-cache.org/docs/3.0/tutorial/purging.html – rbaker86

1

또한 컴파일 플래그 (-C)를 사용하여 VCL에서 구문 오류를 찾을 수 있습니다. 이렇게하면 서버가 시작되지 않고 단순히 VCL을 C로 컴파일하고 출력을 인쇄합니다.

varnishd -C -f /etc/varnish/main.vcl 
관련 문제