2013-11-04 2 views
0

내 사이트 중 하나에 대해 바니시 설정이 있습니다. 내 통계 추적을 위해 오픈 소스 소프트웨어 Piwik을 사용하고 있습니다.Varnish는 내 추적 소프트웨어 캐싱을 유지합니다.

Piwik에는 추적을위한 프록시가있는 옵션이 있습니다. 즉, Piwik의 URL이 내 소스 코드에 공개되지 않습니다. vcl_fetch에서 https://github.com/mattiasgeniar/varnish-3.0-configuration-templates

내가 추가 :

기본적으로 설치 내 워드 프레스에 앉아 PHP 파일 그리고 그것은 지금 ... 설치 내 Piwik에

을 CURL 게시물을 전송, 내가 사용하여 내 니스를 설정

if (req.url ~ "piwik") { 
    set beresp.ttl = 120s; 
    return (hit_for_pass); 
} 

는 vcl_recv 나는 추가 :

if (req.url ~ "piwik") { 
    return (pass); 
} 

어떤 일이 것은 ... 내가 실제로 웹 사이트가 트래픽의 50 %를 참조

나는 그것이 때문에 내 vcl_fetch 설정으로의 유감은 ...

나는 내가 120S 패스 일을 계속하기 위해 니스를 안내하는 설정입니다 제가 beresp.ttl을 이해에서 패스 hit_for_pass의 차이점을 읽어

WP에서 W3TotalCache는 Max-Age &과 같은 일부 캐싱 헤더를 내 piwik.php 파일에 추가합니다. Varnish가 없으면 여전히 잘 작동하고 올바르게 추적됩니다. Varnish와 그 헤더 사이에 어떤 종류의 충돌이있을 수 있습니까?

맞습니까? 내 추적의 50 %를 놓친 이유가 무엇이라고 생각하십니까?

감사합니다.

+0

1. PHP 스크립트의 PATH 문자열은 무엇입니까? 2. 실제 "숨겨진"Piwik 추적 장치가 Varnish 뒤에 있습니까? 그렇다면 PATH는 무엇입니까? –

+0

안녕하세요, 진짜 PIWIK는 광택제가 아닙니다. 경로는 /wp-content/wp-piwik/piwik.php 입니다. – tounano

+0

불행히도 나는 그 때 잘못 된 것이 무엇인지 모른다. 'vcl_fetch' 코드는 완전히 중복되어 있습니다. URL 정규식은 좀 더 구체적이어야하지만 여전히 - 내가해야하는 일을 알아야합니다. –

답변

0

vcl_recv를 전달하기위한 광택 구성이 정확합니다.

vcl_fetch에있는 코드는 제거 할 수 있으며 recv의 코드 때문에 그 시점에서 아무런 차이가 없습니다.

vcl_fetch에서 응답 헤더를 필터링하는 모든 VCL 코드는 전달 된 응답에 대해서도 실행됩니다. piwik이 보내는 Set-Cookie를 필터링하고있는 것 같습니다.