@@ -54,62 +54,30 @@ Then, optimize Varnish so that it only parses the Response contents when there
54
54
is at least one ESI tag by checking the ``Surrogate-Control `` header that
55
55
Symfony adds automatically:
56
56
57
- .. configuration -block ::
57
+ .. code -block :: text
58
58
59
- .. code-block :: varnish4
59
+ sub vcl_fetch {
60
+ /*
61
+ Check for ESI acknowledgement
62
+ and remove Surrogate-Control header
63
+ */
64
+ if (beresp.http.Surrogate-Control ~ "ESI/1.0") {
65
+ unset beresp.http.Surrogate-Control;
60
66
61
- /* (https://www.varnish-cache.org/docs/4.0/whats-new/upgrading.html#req-not-available-in-vcl-backend-response) */
62
- sub vcl_backend_response {
63
- // Check for ESI acknowledgement and remove Surrogate-Control header
64
- if (beresp.http.Surrogate-Control ~ "ESI/1.0") {
65
- unset beresp.http.Surrogate-Control;
66
- set beresp.do_esi = true;
67
- }
68
- /* By default Varnish ignores Pragma: nocache
69
- (https://www.varnish-cache.org/docs/4.0/users-guide/increasing-your-hitrate.html#cache-control)
70
- so in order avoid caching it has to be done explicitly */
71
- if (beresp.http.Pragma ~ "no-cache") {
72
- // https://www.varnish-cache.org/docs/4.0/whats-new/upgrading.html#hit-for-pass-objects-are-created-using-beresp-uncacheable
73
- set beresp.uncacheable = true;
74
- set beresp.ttl = 120s;
75
- return (deliver);
76
- }
67
+ // For Varnish >= 3.0
68
+ set beresp.do_esi = true;
69
+ // For Varnish < 3.0
70
+ // esi;
77
71
}
78
-
79
- .. code-block :: varnish3
80
-
81
- sub vcl_fetch {
82
- // Check for ESI acknowledgement and remove Surrogate-Control header
83
- if (beresp.http.Surrogate-Control ~ "ESI/1.0") {
84
- unset beresp.http.Surrogate-Control;
85
- set beresp.do_esi = true;
86
- }
87
- /* By default Varnish ignores Cache-Control: nocache
88
- (https://www.varnish-cache.org/docs/3.0/tutorial/increasing_your_hitrate.html#cache-control),
89
- so in order avoid caching it has to be done explicitly */
90
- if (beresp.http.Pragma ~ "no-cache" ||
91
- beresp.http.Cache-Control ~ "no-cache" ||
92
- beresp.http.Cache-Control ~ "private") {
93
- return (hit_for_pass);
94
- }
95
- }
96
-
97
- .. code-block :: varnish2
98
-
99
- sub vcl_fetch {
100
- // Check for ESI acknowledgement and remove Surrogate-Control header
101
- if (beresp.http.Surrogate-Control ~ "ESI/1.0") {
102
- unset beresp.http.Surrogate-Control;
103
- esi;
104
- }
105
- /* By default Varnish ignores Cache-Control: nocache
106
- so in order avoid caching it has to be done explicitly */
107
- if (beresp.http.Pragma ~ "no-cache" ||
108
- beresp.http.Cache-Control ~ "no-cache" ||
109
- beresp.http.Cache-Control ~ "private") {
110
- return (hit_for_pass);
111
- }
72
+ /* By default Varnish ignores Cache-Control: nocache
73
+ (https://www.varnish-cache.org/docs/3.0/tutorial/increasing_your_hitrate.html#cache-control),
74
+ so in order avoid caching it has to be done explicitly */
75
+ if (beresp.http.Pragma ~ "no-cache" ||
76
+ beresp.http.Cache-Control ~ "no-cache" ||
77
+ beresp.http.Cache-Control ~ "private") {
78
+ return (hit_for_pass);
112
79
}
80
+ }
113
81
114
82
.. caution ::
115
83
0 commit comments