Reverse proxy cache ESI support

 

Varnish

Squid

Compiled in by default

(tick)

(error)

Supports variables

(error)

(tick)

Passes cookies to ESI includes

(tick)

(error)

ESI enabling

In vcl file

In HTTP response headers

Relative URLs for includes

(question)

(error)

Varnish

  • Output using ESI seems mangled when rendered with Gecko-based browsers.

Squid

  • ESI includes may crash Squid (tested 3.0STABLE15) if they have non-absolute URLs:
    starting new ESI subrequest failed
    
    • Canceling a request with a failed ESI include results in:
      FATAL: Received Segment Violation...dying.
      
    • A segment violation error on relative URL include can be avoided with onerror="continue" in the ESI include tag.
    • ESI with relative URLs should work according to the spec:

      Relative URIs will be resolved relative to the template.

  • ESI logs appear in /var/log/squid/cache.log