Am Freitag 04 April 2008 04:37:44 schrieb Ricardo Newbery: > sub vcl_fetch { > if (obj.ttl < 120s) { > set obj.ttl = 120s; > } > } > > Or you can invent your own header... let's call it X-Varnish-1day > > sub vcl_fetch { > if (obj.http.X-Varnish-1day) { > set obj.ttl = 86400s; > } > }
so it seems like I'm on the right track, thanks for clarifying. now, is the ttl a information local to varnish, or will it set headers also (if I look into the headers of my varnishs' responses, it doesn't appear so)? what really confuses me: the man pages state a little different semantics for default_ttl. in man varnishd: -t ttl Specifies a hard minimum time to live for cached documents. This is a shortcut for specifying the default_ttl run-time parameter. default_ttl The default time-to-live assigned to objects if neither the backend nor the configuration assign one. Note that changes to this parameter are not applied retroac‐ tively. The default is 120 seconds. "hard minimum" sounds to me as if it would overwrite any setting the backend has given. however, in man vcl it's explained, that default_ttl does only affect documents without backend given TTL: The following snippet demonstrates how to force a minimum TTL for all documents. Note that this is not the same as setting the default_ttl run-time parameter, as that only affects doc‐ ument for which the backend did not specify a TTL. sub vcl_fetch { if (obj.ttl < 120s) { set obj.ttl = 120s; } } the examples have a unit (s) appended, as in the example of the man page, that suggests that I could also append things like m, h, d (for minutes, hours, days)? BTW, in the trunk version, the examples for a backend definition have still the old syntax. backend www { set backend.host = "www.example.com"; set backend.port = "80"; } instead backend www { .host = "www.example.com"; .port = "80"; } Thanks a lot, Sascha _______________________________________________ varnish-misc mailing list varnish-misc@projects.linpro.no http://projects.linpro.no/mailman/listinfo/varnish-misc