2014-06-12 2 views
0

모든 하위 도메인에 대해 광택을 사용하지 않도록 설정하려고합니다. Google 애플리케이션을 사용하면 사용자가 자신의 웹 사이트를 Google의 하위 도메인에 만들고 관리 할 수 ​​있지만 바니시는 편집을 시도 할 때 해당 페이지를 캐싱합니다.와일드 카드 하위 도메인에 광택 캐시를 사용하지 않는 방법

if (req.url ~ "[code here]") { 
    # Don't cache, pass to backend 
    return (pass); 
} 

을하지만 난 해봤 아무것도 모든 하위 도메인을 위해 일 것 같다 :

나는 기본적인 형식을 알고있다.

어쩌면 그것은 간단한 정규식인가요?

답변

2

이 목적으로 req.http.host을 사용할 수 있습니다. 그리고 네, 그것은 정규 표현식이 될 수 있습니다.

sub vcl_recv 
{ 
    /* your earlier definitions */ 
    if(req.http.host ~ 'my.subdomain.example.com') 
    { 
     // set the backend first 
     set req.backend = localhost; 

     return(pass); 

    } 

    /* your definitions */ 
} 

경우에 따라 return(pipe)해야 할 수도 있습니다 :
https://www.varnish-cache.org/docs/2.1/faq/configuration.html

+0

네,하지만 와일드 카드 하위 도메인에 대해 묻고 있습니다 ... – user2152590

+0

? 모든 하위 도메인을 잡을'req.http.host ~ '.example.com'을 사용할 수 있습니다. 하위 도메인을 잡을 수있는 정규 표현식을 사용해야합니까? –

+0

@ user2152590 도움이 되었다면 대답을 허용으로 표시 할 수 있습니까? – bubakazouba

0

을 나는 그것이 하위 도메인 고려 될 수있다 당신은 WWW를 사용하는 경우이 문제가 될 수 있습니다 (당신이 어떤 하위 도메인이 필요한 것 같아) 전에 일치하는 것입니다. example.com에서

sub vcl_recv { 
     if(req.http.host ~ ".*\.example.com") {  
     return(pass); 
    } 

} 
관련 문제