the mod_publisher module for Apache supports a variation on ESI ...

Quote from website:

"In addition to <!--#include file="..."--> and <!--#include virtual="..."-->, mod_publisher implements a third include directive. <!--#include url="http://some.remote.url/some/path"--> will include contents fetched from a remote URL."

The syntax is almost the same. The changes to esi.module would be simple (see below). I'll create a diff and test behind mod_publisher next week if you are interested.

  * Implements hook_esi_mode().
 function esi_esi_mode() {
   return array(
     'esi' => array(
       'title' => 'ESI tag',
       'render' => 'esi_esi_tag',
     'ssi' => array(
       'title' => 'SSI tag',
       'render' => 'esi_ssi_tag',
     'ssiurl' => array(
       'title' => 'SSI url tag (for mod_publisher)',
       'render' => 'esi_ssiurl_tag',

   * Render an SSI URL tag (as used by mod_publisher)
 function esi_ssiurl_tag($url) {
   return '<!--# include url="' . $url . '" -->';


Dustin@PI’s picture

Issue summary:View changes

Fixed formatting.

erikwebb’s picture

Status:Active» Postponed (maintainer needs more info)

What is the benefit of mod_publisher over the standard mod_include?

Dustin@PI’s picture

mod_include will only pull in files on the current server. mod_publisher pulls in remote urls over http giving full ESI type functionality.

So using a combination of mod_proxy, mod_cache and mod_publisher you can replicate most varnish features. It's less scalable of course but you have the option of adding an auth module like mod_auth_cas giving you a caching reverse proxy with ESI that works for secure users.

erikwebb’s picture

Status:Postponed (maintainer needs more info)» Active

Ah okay. Yeah, let's go ahead and get a working patch on this.

manarth’s picture

Status:Active» Fixed

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary:View changes

removed broken url link