# $wgUseESI = true;
# Internal server name as known to Squid, if different
# $wgInternalServer = 'http://yourinternal.tld:8000';
+# Cache timeout for the squid, will be sent as s-maxage (without ESI) or
+# Surrogate-Control (with ESI). Without ESI, you should strip out s-maxage in the Squid config.
+# 18000 seconds = 12 hours, more cache hits with 2678400 = 31 days
+# $wgSquidMaxage = 18000;
# A list of proxy servers (ips if possible) to purge on changes
# don't specify ports here (80 is default)
# $wgSquidServers = array('127.0.0.1');
# Internal server name as known to Squid, if different
# $wgInternalServer = 'http://yourinternal.tld:8000';
$wgInternalServer = $wgServer;
+# Cache timeout for the squid, will be sent as s-maxage (without ESI) or
+# Surrogate-Control (with ESI). Without ESI, you should strip out s-maxage in the Squid config.
+# 18000 seconds = 12 hours, more cache hits with 2678400 = 31 days
+ $wgSquidMaxage = 18000;
# A list of proxy servers (ips if possible) to purge on changes
# don't specify ports here (80 is default)
# $wgSquidServers = array('127.0.0.1');
}
function sendCacheControl() {
- global $wgUseSquid, $wgUseESI;
+ global $wgUseSquid, $wgUseESI, $wgSquidMaxage;
# FIXME: This header may cause trouble with some versions of Internet Explorer
header( "Vary: Accept-Encoding, Cookie" );
if( $this->mLastModified != "" ) {
wfDebug( "** proxy caching with ESI; {$this->mLastModified} **\n", false );
# start with a shorter timeout for initial testing
# header( 'Surrogate-Control: max-age=2678400+2678400, content="ESI/1.0"');
- header( 'Surrogate-Control: max-age=18000+18000, content="ESI/1.0"');
+ header( 'Surrogate-Control: max-age='.$wgSquidMaxage.'+'.$wgSquidMaxage.', content="ESI/1.0"');
header( 'Cache-Control: s-maxage=0, must-revalidate, max-age=0' );
} else {
# We'll purge the proxy cache for anons explicitly, but require end user agents
# to revalidate against the proxy on each visit.
- # The Squid need to replace the Cache-Control header with
+ # IMPORTANT! The Squid needs to replace the Cache-Control header with
# Cache-Control: s-maxage=0, must-revalidate, max-age=0
wfDebug( "** local proxy caching; {$this->mLastModified} **\n", false );
# start with a shorter timeout for initial testing
# header( "Cache-Control: s-maxage=2678400, must-revalidate, max-age=0" );
- header( "Cache-Control: s-maxage=18000, must-revalidate, max-age=0" );
+ header( "Cache-Control: s-maxage='.$wgSquidMaxage.', must-revalidate, max-age=0" );
}
} else {
# We do want clients to cache if they can, but they *must* check for updates