blob: 0a19f13a4f5d5bb143fcd0a967bb1b003e805b0c [file] [log] [blame]
# Port map:
# (If you change this, also change enable_ports_and_file_access in Makefile)
# 8080 -- master configuration.
# 8081 -- LOADTEST / PROXY / SLURP
# 8082 -- SLURP
# @@APACHE_SECONDARY_PORT@@ -- secondary configuration (8083 debug, 8084 root)
# @@APACHE_TERTIARY_PORT@@ --- loopback route testing
# @@CONTROLLER_PORT@@ --- Central controller port
#
# Note that when system-testing on CentOS installs we need to authorize these
# ports via semanage. Any new ports should thus be added to the Makefile in
# this directory, target enable_ports_and_file_access.
# We don't enable XHTML in the default pagespeed.conf. For the
# add_instrumentation xhtml tests to work, though, we have to enable
# it here. If we change pagespeed.conf.template to enable XHTML by
# default then we can eliminate this line.
AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER application/xhtml+xml
#EXTCACHE # When testing with an external cache in system tests, let's
#EXTCACHE # make sure we are really hitting it and not servicing the
#EXTCACHE # lookups in-memory. Note that we will cover having a
#EXTCACHE # non-zero lru-cache with an external cache in load tests.
#EXTCACHE ModPagespeedLRUCacheKbPerProcess 0
#MEMCACHED
#MEMCACHED # Do testing using memcached in lieu of the file cache.
#MEMCACHED ModPagespeedMemcachedServers localhost:@@MEMCACHED_PORT@@
#REDIS
#REDIS # Do testing using redis instead of file cache
#REDIS ModPagespeedRedisServer localhost:@@REDIS_PORT@@
#EXTCACHE
# If X-PSA-Blocking-Rewrite request header is present and its value matches the
# value of ModPagespeedBlockingRewriteKey below, the response will be fully
# rewritten before being flushed to the client.
ModPagespeedBlockingRewriteKey psatest
# By default we test without image beaconing, and use a separate vhost to
# enable image beaconing explicitly.
ModPagespeedCriticalImagesBeaconEnabled false
<Location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+">
# For testing that AddResourceHeader gets passed through
ModPagespeedAddResourceHeader "X-Foo" "Bar"
</Location>
# By default, resources will not be used for inlining without explicit
# authorization. Supported values are off or a comma-separated list of strings
# from {Script,Stylesheet}.
ModPagespeedInlineResourcesWithoutExplicitAuthorization off
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/max_html_parse_size" >
ModPagespeedMaxHtmlParseBytes 5000
</Directory>
# This will cause an error report in the startup log if mod_pagespeed is not
# built with ssl, but otherwise will cause no trouble.
ModPagespeedFetchHttps enable
#VALGRIND # Under valgrind, the default 5 second serf fetch timeout may
#VALGRIND # not be enough. Make it 20 seconds.
#VALGRIND ModPagespeedFetcherTimeOutMs 20000
ModPagespeedLibrary 43 1o978_K0_LNE5_ystNklf http://www.modpagespeed.com/rewrite_javascript.js
ModPagespeedRetainComment " google_ad_section*"
ModPagespeedPermitIdsForCssCombining "allowed-to-combine-1-*"
ModPagespeedPermitIdsForCssCombining "allowed-to-combine-2-*"
# Test proxying of non-.pagespeed. resources.
ModPagespeedMapProxyDomain http://@@APACHE_DOMAIN@@/modpagespeed_http \
http://@@PAGESPEED-TEST-HOST@@/do_not_modify
ModPagespeedMapProxyDomain http://@@APACHE_DOMAIN@@/content_type_present \
http://@@PAGESPEED-TEST-HOST@@:8091
ModPagespeedMapProxyDomain http://@@APACHE_DOMAIN@@/content_type_absent \
http://@@PAGESPEED-TEST-HOST@@:8092
#CONTROLLER ModPagespeedExperimentalCentralControllerPort @@CONTROLLER_PORT@@
# Turn on "KeepAlive" so we can test it in system_test.sh.
KeepAlive On
KeepAliveTimeout 60
LogFormat "%v %X %P %h %l %u %t \"%r\" %>s %b" common
# Set logging level to 'info' to catch some informational messages which have
# been downgraded from 'error'.
LogLevel info
ModPagespeedStaticAssetPrefix /mod_pagespeed_static/
# We want to test some vhosts without a shared memory cache configured, and if
# the default shared memory metadata cache is enabled we can't do that. So
# disable it globally and enable it where we need it.
ModPagespeedDefaultSharedMemoryCacheKB 0
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/https_fetch" >
ModPagespeedDisableFilters inline_images
ModPagespeedDomain https://@@PAGESPEED-TEST-HOST@@
ModPagespeedMapProxyDomain http://@@APACHE_DOMAIN@@/https_gstatic_dot_com \
https://www.gstatic.com/psa/static
</Directory>
# These caching headers are set up for the document root, and
# also serve as a demonstration of good values to set for the entire
# site, if it is to be optimized by mod_pagespeed.
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_example" >
<IfModule headers_module>
# To enable to show that mod_pagespeed to rewrites web pages, we must
# turn off Etags for HTML files and eliminate caching altogether.
# mod_pagespeed should rewrite HTML files each time they are served.
# The first time mod_pagespeed sees an HTML file, it may not optimize
# it fully. It will optimize better after the second view. Caching
# defeats this behavior.
<FilesMatch "\.(html|htm)$">
Header unset Etag
Header set Cache-control "max-age=0, no-cache"
</FilesMatch>
# Images, styles, and javascript are all cache-extended for
# a year by rewriting URLs to include a content hash. mod_pagespeed
# can only do this if the resources are cacheable in the first place.
# The origin caching policy, set here to 10 minutes, dictates how
# frequently mod_pagespeed must re-read the content files and recompute
# the content-hash. As long as the content doesn't actually change,
# the content-hash will remain the same, and the resources stored
# in browser caches will stay relevant.
<FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">
Header unset Etag
Header set Cache-control "max-age=600"
</FilesMatch>
</IfModule>
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/shard" >
ModPagespeedShardDomain "@@APACHE_DOMAIN@@" shard1,shard2
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters extend_cache
</Directory>
# add_instrumentation must be enabled so that we can test /mod_pagespeed_beacon.
ModPagespeedEnableFilters add_instrumentation
<Directory "@@APACHE_DOC_ROOT@@/" >
# This is enabled to make sure we don't crash mod_negotiation.
Options +MultiViews
</Directory>
# Enable htaccess
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_example/" >
AllowOverride All
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/htaccess" >
AllowOverride All
ModPagespeedInPlaceWaitForOptimized on
ModPagespeedInPlaceRewriteDeadlineMs 10000
</Directory>
ModPagespeedLoadFromFile \
"http://@@APACHE_DOMAIN@@/mod_pagespeed_test/htaccess/" \
"@@APACHE_DOC_ROOT@@/mod_pagespeed_test/htaccess/"
# Enable resize_rendered_image_dimensions
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_example/resize_rendered_dimensions" >
ModPagespeedCriticalImagesBeaconEnabled true
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/" >
AllowOverride All
# Some versions of mod_rewrite will refuse to do any work if
# symlink handling is off.
Options +FollowSymLinks
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/close_connection/" >
AllowOverride All
# Helps tests whether we successfully strip Connection:close
# results from the origin.
Options +SymLinksIfOwnerMatch
Header append 'Connection' 'close'
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/compressed/" >
# Files in this directory are already compressed so always add
# the right header.
Header set Cache-control "max-age=600"
Header append 'Content-Encoding' 'gzip'
AddType text/javascript .custom_ext
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/" >
# Files in this directory should include an err_headers_out
# header. 'Header always' writes to err_headers_out.
Header always set X-TestHeader "hello"
</Directory>
# The following directories are used by automatic/system_tests/smaxage.sh to
# test that we properly add s-maxage to cache-control headers for unoptimized
# ipro responses.
#
# Directory naming is based on:
# cc: cache-control
# sma: s-max-age
# p: private
# nc: no-cache
# ns: no-store
# nt: no-transform
# nsp: no spaces
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200/" >
Header set Cache-control "max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/nocc/" >
header unset Cache-Control
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200p/" >
Header set Cache-control "private, max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200nc/" >
Header set Cache-control "no-cache, max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200ns/" >
Header set Cache-control "no-store, max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200nt/" >
Header set Cache-control "no-transform, max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200sma5/" >
Header set Cache-control "s-maxage=5, max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200sma50/" >
Header set Cache-control "s-maxage=50, max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200sma50nsp/" >
Header set Cache-control "s-maxage=50,max-age=200"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc9/" >
Header set Cache-control "max-age=9"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200cc9/" >
Header set Cache-control "max-age=200, max-age=9"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200sma50sma5/" >
Header set Cache-control "max-age=200, s-maxage=50, s-maxage=5"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200sma50cc9/" >
Header set Cache-control "max-age=200, s-maxage=50, max-age=9"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200sma50cc9nsp/" >
Header set Cache-control "max-age=200,s-maxage=50,max-age=9"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cc200sma50sma51/" >
Header set Cache-control "max-age=200, s-maxage=50, s-maxage=51"
</Directory>
ModPagespeedLoadFromFile "http://@@APACHE_DOMAIN@@/mod_pagespeed_test/ipro/instant/" \
"@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/instant/"
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cookie/" >
# Add Vary:Cookie. This should prevent us from optimizing the
# vary_cookie.css even though ModPagespeedRespectVary is off.
# apache/system_test.sh does the fetches test with and without cookies.
Header append Vary Cookie
ModPagespeedRespectVary off
ModPagespeedInPlaceWaitForOptimized on
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/cookie2/" >
# Add Vary:Cookie2. This should prevent us from optimizing the
# vary_cookie2.css even though ModPagespeedRespectVary is off.
# apache/system_test.sh does the fetches test with and without cookie2.
Header append Vary Cookie2
ModPagespeedRespectVary off
ModPagespeedInPlaceWaitForOptimized on
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/mod_deflate/" >
AddOutputFilterByType DEFLATE text/css
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/vary/no_respect/" >
ModPagespeedDisableFilters add_instrumentation,inline_css
ModPagespeedRespectVary off
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/no_cache/" >
# Files in this directory should be served uncacheable.
Header set Cache-control "no-cache"
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/remote_config/" >
# Files in this directory should be served uncacheable.
Header set Cache-control "max-age=7200, must-revalidate"
</Directory>
# Set jpeg Quality
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/jpeg_rewriting/" >
ModPagespeedJpegRecompressionQuality 70
</Directory>
# Set Generic Image Quality
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/webp_rewriting" >
ModPagespeedImageRecompressionQuality 75
</Directory>
# Set Webp Quality
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/image_rewriting" >
ModPagespeedWebpRecompressionQuality 65
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/disable_no_transform" >
ModPagespeedDisableRewriteOnNoTransform off
<IfModule headers_module>
<FilesMatch "\.(js|css)$">
Header append 'Cache-Control' 'no-transform'
</FilesMatch>
</IfModule>
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/no_transform" >
Header append 'Cache-Control' 'no-transform'
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/strip_subresource_hints/default" >
ModPagespeedRewriteLevel CoreFilters
ModPagespeedDisableFilters add_instrumentation
ModPagespeedDisallow *dontrewriteme*
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/strip_subresource_hints/preserve_on/" >
ModPagespeedPreserveSubresourceHints on
ModPagespeedRewriteLevel CoreFilters
ModPagespeedDisableFilters add_instrumentation
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/strip_subresource_hints/preserve_off/" >
ModPagespeedPreserveSubresourceHints off
ModPagespeedRewriteLevel CoreFilters
ModPagespeedDisableFilters add_instrumentation
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/strip_subresource_hints/default_passthrough/" >
ModPagespeedRewriteLevel PassThrough
ModPagespeedDisableFilters add_instrumentation
</Directory>
# This Directory does not even exist, but by setting some options in that
# scope we test to make sure the options we claim are really settable in
# .htaccess. Note that <Directory> and .htaccess are enforced the same way.
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/htaccess_test" >
ModPagespeed on
ModPagespeedAllow *
ModPagespeedAvoidRenamingIntrospectiveJavascript on
ModPagespeedBeaconUrl foo
ModPagespeedCombineAcrossPaths off
ModPagespeedCssFlattenMaxBytes 100
ModPagespeedCssImageInlineMaxBytes 100
ModPagespeedCssInlineMaxBytes 100
ModPagespeedCssOutlineMinBytes 10000
ModPagespeedDisableFilters rewrite_images
ModPagespeedDisallow *bad*
ModPagespeedDomain example.com
ModPagespeedEnableFilters extend_cache
ModPagespeedImageInlineMaxBytes 100
ModPagespeedImageLimitOptimizedPercent 50
ModPagespeedImageLimitResizeAreaPercent 50
ModPagespeedJpegRecompressionQuality 85
ModPagespeedJsInlineMaxBytes 100
ModPagespeedJsOutlineMinBytes 10000
ModPagespeedLowercaseHtmlNames on
ModPagespeedMapOriginDomain localhost example.com
ModPagespeedMapRewriteDomain cdn.com example.com
ModPagespeedMaxHtmlParseBytes 100000
ModPagespeedMaxInlinedPreviewImagesIndex 10
ModPagespeedMinImageSizeLowResolutionBytes 100
ModPagespeedModifyCachingHeaders off
ModPagespeedRetainComment *ad_tag*
ModPagespeedRewriteLevel PassThrough
</Directory>
# Establish a proxy mapping where the current server proxies an image stored on
# gstatic.com. We use gstatic.com rather than modpagespeed.com so that we use a
# single html file both for:
# 1. a demo of the feature on modpagespeed.com. It would
# be confusing to demo a Proxying when the origin was the
# same as the proxy.
# 2. A system-test of the feature to be run with our usual testing.
ModPagespeedMapProxyDomain @@APACHE_DOMAIN@@/gstatic_images \
http://www.gstatic.com/psa/static
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/forbid_all_disabled/disabled" >
# Prevent the enabling of these filters for files in this directory
# -and- all subdirectories (they can't override it, deliberately).
ModPagespeedForbidAllDisabledFilters true
ModPagespeedDisableFilters remove_quotes,remove_comments
ModPagespeedDisableFilters collapse_whitespace
# Enable this, which was disabled in ../.htaccess, to test that we can
# enable something already disabled at the same time as we forbid all.
ModPagespeedEnableFilters inline_css
</Directory>
# This is needed for the server-side includes test in
# apache/system_test.sh. See mod_pagespeed_test/ssi/.htaccess as well.
<IfModule !include_module>
LoadModule include_module @@APACHE_MODULES@@/mod_include.so
</IfModule>
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
# Some of our tests have php flush output to test our behavior. This is needed
# for mod_fcgid to actually propagate those flushes.
<IfModule fcgid_module>
FcgidOutputBufferSize 0
</IfModule>
# For the mod_rewrite test in apache/system_test.sh
<IfModule !rewrite_module>
LoadModule rewrite_module @@APACHE_MODULES@@/mod_rewrite.so
</IfModule>
# For the vary: handling test
<IfModule !headers_module>
LoadModule headers_module @@APACHE_MODULES@@/mod_headers.so
</IfModule>
# Helps tests that extra headers supplied by the apache conf
# survive single-resource rewrites
#
# http://github.com/pagespeed/mod_pagespeed/issues/324
Header append 'X-Extra-Header' '1'
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/nostore" >
Header append 'Cache-Control' 'no-store'
</Directory>
# Build a configuration hierarchy where at the root we have turned on a few
# filters, several of which do not preserve URLs, and in a subdirectory we have
# turned on preserve URLs.
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/preserveurls" >
ModPagespeedRewriteLevel CoreFilters
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/preserveurls/on" >
ModPagespeedJsPreserveURLs On
ModPagespeedImagePreserveURLs On
ModPagespeedCssPreserveURLs On
# TODO(jmarantz): PreserveURLs should override the explicit setting at
# the level above that turns on inline_preview_images, resize_mobile_images,
# and lazyload_images
ModPagespeedDisableFilters inline_preview_images,resize_mobile_images
ModPagespeedDisableFilters lazyload_images
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/experimental_js_minifier" >
ModPagespeedUseExperimentalJsMinifier on
</Directory>
# However we should not allow user-specified cache-control on
# rewritten HTML or resources. This setting helps us make
# sure that we strip any user-specified cache-control when
# we rewrite HTML. We test this in apache/system_test.sh.
Header set Cache-Control "max-age=600"
# For regression test of connection failing.
ModPagespeedDomain modpagespeed.com:1023
# Test LoadFromFile mapping by mapping one dir to another.
ModPagespeedLoadFromFile "http://@@APACHE_DOMAIN@@/mod_pagespeed_test/load_from_file/web_dir/" "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/load_from_file/file_dir/"
ModPagespeedLoadFromFileMatch "^http://@@APACHE_DOMAIN@@/mod_pagespeed_test/load_from_file_match/web_([^/]*)/" "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/load_from_file/file_\1/"
ModPagespeedLoadFromFileRule Disallow "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/load_from_file/file_dir/httponly/"
ModPagespeedLoadFromFileRuleMatch Disallow \.ssp.css$
ModPagespeedLoadFromFileRuleMatch Allow exception\.ssp\.css$
# Print out detail about connection-refused errors. We don't negative-test
# this here cause it's a hassle; we just depend on the unit-tests for that.
ModPagespeedListOutstandingUrlsOnError on
ModPagespeedAvoidRenamingIntrospectiveJavascript off
# Test coverage for <ModPagespeedIf>
<ModPagespeedIf spdy>
# This is no longer applied, but is parsed, so we keep this in our test config
# to verify that.
ModPagespeedDisableFilters combine_css
</ModPagespeedIf>
<ModPagespeedIf !spdy>
ModPagespeedShardDomain nonspdy.example.com s1.example.com,s2.example.com
</ModPagespeedIf>
# These will be sent to the origin domain when fetching subresources.
ModPagespeedCustomFetchHeader header value
ModPagespeedCustomFetchHeader x-other False
<Location /mod_pagespeed_log_request_headers.js>
SetHandler mod_pagespeed_log_request_headers
</Location>
ModPagespeedInPlaceResourceOptimization on
ModPagespeedRespectXForwardedProto on
<Location ~ "/mod_pagespeed_test/response_headers.html*">
SetHandler mod_pagespeed_response_options_handler
</Location>
ModPagespeedCompressMetadataCache true
# Make a non-empty subdirectory config to make sure that
# cache.flush updates get transmitted to nested configurations.
<Directory "@@APACHE_DOC_ROOT@@/cache_flush/" >
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters inline_css
ModPagespeedDisableFilters add_instrumentation
</Directory>
# Directory config for gathering sample data from instrumented pages for
# purposes of mobilization.
<Directory "@@APACHE_DOC_ROOT@@/mobilization/" >
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters mobilize
ModPagespeedLogMobilizationSamples true
</Directory>
# Another VirtualHost can be enabled by default as it does no harm. This can
# be used for testing alternate configuration settings in system tests without
# restarting Apache.
#
# We use NameVirtualHost so we can have multiple VirtualHost
# configurations sharing the same port. Note that the port is
# different depending on whether we are running system tests as root
# or as a normal user. Note that fetches must be done with
# http_proxy=SECONDARY_HOST:SECONDARY_PORT.
Listen localhost:@@APACHE_SECONDARY_PORT@@
NameVirtualHost localhost:@@APACHE_SECONDARY_PORT@@
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName secondary.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeed on
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_secondary"
ModPagespeedCompressMetadataCache false
ModPagespeedMapProxyDomain secondary.example.com/gstatic_images \
http://www.gstatic.com/psa/static
# This is the same external cache instance as the root configuration,
# but with a different file-cache path.
#MEMCACHED ModPagespeedMemcachedServers localhost:@@MEMCACHED_PORT@@
#REDIS ModPagespeedRedisServer localhost:@@REDIS_PORT@@
ModPagespeedCacheFlushFilename cache.flush
# If you uncomment this, the test will fail, proving we can disable
# cache-flush polling.
# ModPagespeedCacheFlushPollIntervalSec 0
# Helps testing whether the configuration of reporting 'unload' time works.
ModPagespeedReportUnloadTime on
# Make a non-empty subdirectory config to make sure that
# cache.flush updates get transmitted to nested configurations.
<Directory "@@APACHE_DOC_ROOT@@/cache_flush/" >
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters inline_css
ModPagespeedDisableFilters add_instrumentation
</Directory>
#REWRITE # These lines are only needed for the mod_rewrite test, where
#REWRITE # we are just trying to prove that we remove mod_rewrite from
#REWRITE # the request if the URL is going to be handled by mod_pagespeed.
#REWRITE # In the root install test, this mod_rewrite seems to only take
#REWRITE # effect in a vhost. I haven't explored why that is because it
#REWRITE # doesn't affect the point of the test.
#REWRITE Options +Indexes
#REWRITE RewriteEngine on
#REWRITE RewriteRule (.*).jpg.pagespeed.(.*).jpg /broken.jpg
#REWRITE RewriteRule mod_pagespeed_statistics /broken
#REWRITE RewriteRule shortcut.html /mod_pagespeed_example/index.html
</VirtualHost>
# Sets up a logical home-page server on www.example.com
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName www.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedLoadFromFile http://cdn.example.com @@APACHE_DOC_ROOT@@
ModPagespeedMapRewriteDomain cdn.example.com origin.example.com
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css,rewrite_images
</VirtualHost>
# Sets up a logical origin for CDNs to fetch content from, on origin.example.com.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName origin.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedLoadFromFile http://cdn.example.com @@APACHE_DOC_ROOT@@
ModPagespeedMapRewriteDomain cdn.example.com origin.example.com
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css,rewrite_images
</VirtualHost>
# Sets up a logical cdn, which is where we tell browsers to fetch resources from.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName cdn.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedLoadFromFile http://cdn.example.com @@APACHE_DOC_ROOT@@
ModPagespeedMapRewriteDomain cdn.example.com origin.example.com
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css,rewrite_images
</VirtualHost>
# Sets up a virtual host where we can specify forbidden filters without
# affecting any other hosts.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName forbidden.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedBlockingRewriteKey psatest
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# Start with all core filters enabled ...
ModPagespeedRewriteLevel CoreFilters
# ... then forbid these filters ...
ModPagespeedForbidFilters remove_quotes,remove_comments,collapse_whitespace
ModPagespeedForbidFilters rewrite_css,resize_images
# ... and disable but not forbid this one (to ensure we retain its URL).
ModPagespeedDisableFilters inline_css
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName unauthorizedresources.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedInlineResourcesWithoutExplicitAuthorization Script,Stylesheet
ModPagespeedCssInlineMaxBytes 1000000
</VirtualHost>
# Sets up a logical home-page server on
# max-cacheable-content-length.example.com. This server is only used to test
# ModPagespeedMaxCacheableContentLength, i.e.,
# max_cacheable_response_content_length.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName max-cacheable-content-length.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedBlockingRewriteKey psatest
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_javascript
ModPagespeedMaxCacheableContentLength 85
</VirtualHost>
# Test how load from file handles maximum sizes.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName lff-large-files.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedMaxCacheableContentLength 4096
ModPagespeedLoadFromFile "http://lff-large-files.example.com/" \
"@@APACHE_DOC_ROOT@@/"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName lff-large-files-no-fallback.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedMaxCacheableContentLength 4096
# http://lff-large-files-no-fallback.example.com/foo.css won't load, because
# we've configured a LoadFromFile pattern that doesn't match the path the
# webserver would take.
ModPagespeedLoadFromFile "http://lff-large-files-no-fallback.example.com/" \
"@@APACHE_DOC_ROOT@@/mod_pagespeed_example/styles/"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName pagespeed-off.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeed off
ModPagespeedEnableFilters collapse_whitespace
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName pagespeed-on.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeed on
ModPagespeedEnableFilters collapse_whitespace
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName pagespeed-unplugged.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeed unplugged
ModPagespeedEnableFilters collapse_whitespace
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName pagespeed-standby.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeed standby
ModPagespeedEnableFilters collapse_whitespace
</VirtualHost>
# Set the value of the X-Mod-Pagespeed header
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName xheader.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedXHeaderValue "UNSPECIFIED VERSION"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName domain-hyperlinks-on.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# Don't actually try to rewrite any resources; the ones in
# rewrite_domains.html don't actually exist.
ModPagespeedRewriteLevel PassThrough
ModPagespeedDomainRewriteHyperlinks on
ModPagespeedMapRewriteDomain http://dst.example.com http://src.example.com
ModPagespeedEnableFilters rewrite_domains
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName domain-hyperlinks-off.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# Don't actually try to rewrite any resources; the ones in
# rewrite_domains.html don't actually exist.
ModPagespeedRewriteLevel PassThrough
ModPagespeedDomainRewriteHyperlinks off
ModPagespeedMapRewriteDomain http://dst.example.com http://src.example.com
ModPagespeedEnableFilters rewrite_domains
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName client-domain-rewrite.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# Don't actually try to rewrite any resources; the ones in
# rewrite_domains.html don't actually exist.
ModPagespeedRewriteLevel PassThrough
ModPagespeedMapRewriteDomain http://client-domain-rewrite.example.com \
http://@@APACHE_DOMAIN@@
ModPagespeedClientDomainRewrite true
ModPagespeedEnableFilters rewrite_domains
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName url-attribute.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# Don't actually try to rewrite any resources; the ones in
# rewrite_domains.html don't actually exist.
ModPagespeedRewriteLevel PassThrough
# This is used for testing dynamically defined url-valued
# attributes
ModPagespeedUrlValuedAttribute span src Hyperlink
ModPagespeedUrlValuedAttribute hr imgsrc Image
ModPagespeedDomainRewriteHyperlinks on
ModPagespeedMapRewriteDomain http://dst.example.com http://src.example.com
ModPagespeedEnableFilters rewrite_domains
ModPagespeedUrlValuedAttribute custom a Image
ModPagespeedUrlValuedAttribute custom b otherResource
ModPagespeedUrlValuedAttribute custom c hyperlink
ModPagespeedUrlValuedAttribute img alt-src Image
ModPagespeedUrlValuedAttribute video alt-a Image
ModPagespeedUrlValuedAttribute video alt-b Image
ModPagespeedUrlValuedAttribute video alt-b Image
ModPagespeedUrlValuedAttribute link data-stylesheet Stylesheet
ModPagespeedUrlValuedAttribute span data-stylesheet-a Stylesheet
ModPagespeedUrlValuedAttribute span data-stylesheet-b Stylesheet
ModPagespeedUrlValuedAttribute span data-stylesheet-c Stylesheet
# Also test that we can redefine spec-defined attributes.
ModPagespeedUrlValuedAttribute blockquote cite Image
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName absolute-urls.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# This is used for testing that we don't load resources from
# absolute urls during resource reconstruction unless they're for
# our own hostname. While ModPagespeedDomain should no longer
# have an effect on whether we load absolute urls, we need to
# include it to be sure we're failing because of the code under
# test and not because the domain lawyer is rejecting it.
ModPagespeedDomain http://example.com
</VirtualHost>
<IfModule !proxy_module>
LoadModule proxy_module @@APACHE_MODULES@@/mod_proxy.so
LoadModule proxy_http_module @@APACHE_MODULES@@/mod_proxy_http.so
</IfModule>
# Proxy @@PAGESPEED-TEST-HOST@@ for testing Issue 582.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName @@PAGESPEED-TEST-HOST@@
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeed off
ServerAlias @@PAGESPEED-TEST-HOST@@
ProxyPass / http://@@PAGESPEED-TEST-HOST@@/
ProxyPassReverse / http://@@PAGESPEED-TEST-HOST@@/
</VirtualHost>
# The following three VHosts are created for Issue 599.
# Create three sites for a MapProxyDomain experiment. The sites are:
# cdn: forwards requests to proxy.
# proxy: runs MPS, and optimizes data from origin.
# origin: a normal website that is potentially external to proxy.
# The CDN in our example which simply forwards requests to the proxy.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName cdn.pm.example.com
# Point the docroot somewhere useless so that we know we're not fetching
# from the CDN's filesystem. Note that in particular we are not attempting to
# run CGI scripts.
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example/cgi"
# Tell mod_proxy that we need to use a proxy to reach our VirtualHost servers.
ProxyRemote * http://localhost:@@APACHE_SECONDARY_PORT@@
ProxyPass /external/ http://proxy.pm.example.com/external/
ProxyPassReverse /external/ http://proxy.pm.example.com/external/
# Unplugged so that it passes the .pagespeed. requests through to the proxy.
ModPagespeed unplugged
</VirtualHost>
# The proxy that runs MPS and can proxy data from origin. When the CDN
# requests proxied data from the proxy the proxy knows to fetch it from the
# origin server.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName proxy.pm.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/"
# The usual cache location so that it gets cleared for on_cache_flush tests.
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# We have to fetch through our localhost proxy to get to our other vhosts.
ModPagespeedFetchProxy "localhost:@@APACHE_SECONDARY_PORT@@"
# Origin resources should be optimized and hosted on proxy/external but
# rewritten to cdn/external.
ModPagespeedDomain proxy.pm.example.com
ModPagespeedMapProxyDomain proxy.pm.example.com/external \
origin.pm.example.com \
cdn.pm.example.com/external
ModPagespeedRewriteLevel CoreFilters
ModPagespeedRewriteDeadlinePerFlushMs -1
</VirtualHost>
# The origin that serves the images to be proxied (Puzzle.jpg)
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName origin.pm.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example/images"
ModPagespeed unplugged
</VirtualHost>
# For testing setting options by cookies.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName options-by-cookies-enabled.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_optionsbycookieson"
ModPagespeedAllowOptionsToBeSetByCookies true
ModPagespeedStickyQueryParameters sticky_secret
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters collapse_whitespace
ModPagespeedDisableFilters remove_comments,add_instrumentation
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName options-by-cookies-disabled.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_optionsbycookiesoff"
ModPagespeedAllowOptionsToBeSetByCookies false
ModPagespeedDisableFilters add_instrumentation
</VirtualHost>
# For testing request option overriding.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName request-option-override.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRequestOptionOverride abc
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters collapse_whitespace
ModPagespeedDisableFilters remove_comments,add_instrumentation
</VirtualHost>
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/standard"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-partially-invalid.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/partly-invalid"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-invalid.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/invalid"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-out-of-scope.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/out-of-scope"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-failed-fetch.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/fail-future"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-slow-fetch.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/timeout"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-with-htaccess.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-experiment.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/experiment"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-slightly-slow-fetch.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/slightly-slow"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-slightly-slow-expired-fetch.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/slow-expired"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-forbidden.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/forbidden"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
#REMOTE_CONFIG <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#REMOTE_CONFIG ServerName remote-config-initially-forbidden.example.com
#REMOTE_CONFIG DocumentRoot "@@APACHE_DOC_ROOT@@"
#REMOTE_CONFIG ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationUrl "http://127.0.0.1:@@RCPORT@@/forbidden-once"
#REMOTE_CONFIG ModPagespeedRemoteConfigurationTimeoutMs 1500
#REMOTE_CONFIG </VirtualHost>
#REMOTE_CONFIG
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName uses-sendfile.example.com
ModPagespeedBlockingRewriteKey psatest
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedEnableFilters rewrite_javascript
Header always set X-Sendfile blablabla
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName uses-xaccelredirect.example.com
ModPagespeedBlockingRewriteKey psatest
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedEnableFilters rewrite_javascript
Header always set X-Accel-Redirect blablabla
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName doesnt-sendfile.example.com
ModPagespeedBlockingRewriteKey psatest
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedEnableFilters rewrite_javascript
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName map-static-domain.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedMapRewriteDomain http://static-cdn.example.com \
http://map-static-domain.example.com
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters defer_javascript,rewrite_domains
</VirtualHost>
# For testing ipro + load from file + unknown extensions.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName lff-ipro.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedLoadFromFile \
"http://lff-ipro.example.com/mod_pagespeed_test/lff_ipro" \
"@@APACHE_DOC_ROOT@@/mod_pagespeed_test/lff_ipro"
</VirtualHost>
# For testing signed urls.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName signed-urls.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedUrlSigningKey helloworld
ModPagespeedRewriteLevel PassThrough
</VirtualHost>
# For testing signed urls, ignoring signature validity.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName signed-urls-transition.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedUrlSigningKey helloworld
ModPagespeedRewriteLevel PassThrough
ModPagespeedAcceptInvalidSignatures true
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName unsigned-urls-transition.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
# This server will not sign URLs, but AcceptInvalidSignatures is on.
ModPagespeedRewriteLevel PassThrough
ModPagespeedAcceptInvalidSignatures true
</VirtualHost>
# For testing handling of redirected requests.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName redirect.example.com
Redirect /redirect/ /
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters add_instrumentation,collapse_whitespace
</VirtualHost>
# Proxy + IPRO a gzip'd file for testing Issue 896.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName ipro-proxy.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_ipro_proxy"
ModPagespeed on
ModPagespeedInPlaceResourceOptimization on
ModPagespeedEnableFilters rewrite_domains
ProxyPass / http://localhost:@@APACHE_TERTIARY_PORT@@/mod_pagespeed_test/ipro/mod_deflate/
ProxyPassReverse / http://localhost:@@APACHE_TERTIARY_PORT@@/mod_pagespeed_test/ipro/mod_deflate/
AddOutputFilterByType DEFLATE text/css
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName compressedcache.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeed on
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css
ModPagespeedHttpCacheCompressionLevel 9
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName uncompressedcache.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeed on
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css
ModPagespeedHttpCacheCompressionLevel 0
AddOutputFilterByType DEFLATE text/css
DeflateCompressionLevel 1
</VirtualHost>
# Backend for ipro-proxy.example.com
Listen 127.0.0.1:@@APACHE_TERTIARY_PORT@@
NameVirtualHost 127.0.0.1:@@APACHE_TERTIARY_PORT@@
<VirtualHost 127.0.0.1:@@APACHE_TERTIARY_PORT@@>
ServerName ipro-proxy-backend.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeed unplugged
AddOutputFilterByType DEFLATE text/css
</VirtualHost>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/instant/wait/" >
ModPagespeedInPlaceWaitForOptimized on
ModPagespeedInPlaceRewriteDeadlineMs 5000
#VALGRIND # Make the deadline long here for valgrind tests.
#VALGRIND ModPagespeedInPlaceRewriteDeadlineMs 20000
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/wait/" >
# TODO(jmarantz): ModPagespeedInPlaceWaitForOptimized should be superfluous,
# or made equivalent to ModPagespeedInPlaceRewriteDeadlineMs -1, which waits
# forever. Otherwise ModPagespeedInPlaceRewriteDeadlineMs should just have
# the specified deadline.
# # See https://github.com/pagespeed/mod_pagespeed/issues/1171 for more
# detailed discussion.
ModPagespeedInPlaceWaitForOptimized on
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/wait/long/" >
# Make the deadline long here for valgrind tests. We could
# conditionalize this.
ModPagespeedInPlaceRewriteDeadlineMs 10000
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/wait/short/" >
ModPagespeedEnableFilters in_place_optimize_for_browser
# Make the deadline short here as we expect to always miss it
# in tests.
ModPagespeedInPlaceRewriteDeadlineMs 1
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/ipro/instant/deadline/" >
ModPagespeedInPlaceRewriteDeadlineMs -1
</Directory>
# Test to make sure that user-authenticated resources do not get cached and
# optimized.
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/auth" >
AllowOverride AuthConfig
AuthType Basic
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile @@APACHE_DOC_ROOT@@/mod_pagespeed_test/auth/passwd.conf
Require user user1
</Directory>
# Enable per-vhost statistics so that tests can be somewhat independent.
ModPagespeedUsePerVHostStatistics on
<Location /mod_pagespeed_global_statistics>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_global_statistics
</Location>
# Declare legacy handlers. The modern one is declared in
# pagespeed.conf.template, which handles all these functions, but
# these are declared so we can test that the handlers still work so
# that people upgrading to a new release don't lose funcitonality.
<Location /mod_pagespeed_statistics>
Order allow,deny
# You may insert other "Allow from" lines to add hosts you want to
# allow to look at generated statistics. Another possibility is
# to comment out the "Order" and "Allow" options from the config
# file, to allow any client that can reach your server to examine
# statistics. This might be appropriate in an experimental setup or
# if the Apache server is protected by a reverse proxy that will
# filter URLs in some fashion.
Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_statistics
</Location>
<Location /pagespeed_console>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_console
</Location>
<Location /mod_pagespeed_message>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_message
</Location>
# The handler for "pagespeed_admin" is fixed in name, but you can put
# it on any URL path, and everything should work.
<Location /alt/admin/path>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_admin
</Location>
# Use a separate vhost so that statistics are separate.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName ipro.example.com
ModPagespeedInPlaceResourceOptimization on
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
</VirtualHost>
# Setup a vhost with the critical image beacon and lazyload filter enabled to
# make sure that critical images are not lazyloaded.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName imagebeacon.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters lazyload_images
ModPagespeedCriticalImagesBeaconEnabled true
# add_instrumentation tests beacon handling with no handler specified, while
# here we test it with a handler (that should do nothing).
<Location /mod_pagespeed_beacon>
SetHandler mod_pagespeed_beacon
</Location>
</VirtualHost>
# The downstreamcacherebeacon vhost setup in the below section is used in
# apache system tests to make sure that downstream caching and rebeaconing
# interact correctly.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName downstreamcacherebeacon.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedCriticalImagesBeaconEnabled true
# Enable the downstream caching feature and specify a rebeaconing key.
ModPagespeedDownstreamCachePurgeLocationPrefix "http://localhost:8020"
ModPagespeedDownstreamCachePurgeMethod "PURGE"
ModPagespeedDownstreamCacheRebeaconingKey random_rebeaconing_key
Header set Cache-Control "private, max-age=3000"
</VirtualHost>
# The cachable_rewritten_html path is configured for testing from within
# apache_downstream_caching_test.sh since that cannot work with a Vhost for
# the mod_pagespeed part of the test.
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/cachable_rewritten_html" >
ModPagespeedRewriteDeadlinePerFlushMs 1
ModPagespeedRewriteLevel PassThrough
ModPagespeedCriticalImagesBeaconEnabled true
ModPagespeedEnableFilters collapse_whitespace,extend_cache,recompress_images
# Assume that Varnish (or any other downstream cache) is running at
# localhost:8020.
# Enable the downstream caching feature and specify a rebeaconing key.
ModPagespeedDownstreamCachePurgeLocationPrefix "http://localhost:8020"
ModPagespeedDownstreamCachePurgeMethod "PURGE"
ModPagespeedDownstreamCacheRebeaconingKey random_rebeaconing_key
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/public" >
Header set Cache-control "public,max-age=600"
ModPagespeedPreserveUrlRelativity off
</Directory>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName downstreamcacheresource.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_images
ModPagespeedDownstreamCachePurgeLocationPrefix \
"http://localhost:@@APACHE_SECONDARY_PORT@@/purge"
</VirtualHost>
# Set up a reverse proxy (rproxy.) and origin (origin.) as vhosts for
# showing that we can configure PageSpeed via response headers.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName rproxy.rmcomments.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedDisableFilters add_instrumentation,remove_comments
# Note that we don't enable remove_comments here; that setting comes from
# the response headers from origin.rmcomments.example.com
ProxyRemote * http://localhost:@@APACHE_SECONDARY_PORT@@
ProxyPass / http://origin.rmcomments.example.com/
ProxyPassReverse / http://origin.rmcomments.example.com/
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName origin.rmcomments.example.com
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeed unplugged
Header add PageSpeedFilters remove_comments
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName renderedimagebeacon.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters resize_rendered_image_dimensions
ModPagespeedCriticalImagesBeaconEnabled true
# add_instrumentation tests beacon handling with no handler specified, while
# here we test it with a handler (that should do nothing).
<Location /mod_pagespeed_beacon>
SetHandler mod_pagespeed_beacon
</Location>
</VirtualHost>
# Test host for explicit shared memory cache.
ModPagespeedCreateSharedMemoryMetadataCache "@@MOD_PAGESPEED_CACHE@@_with_shm" 8192
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName shmcache.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_with_shm"
ModPagespeedEnableFilters rewrite_images
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
# Test hosts to cover all possible cache configurations. L1 will be filecache
# or an external cache depending on the setting of MEMCACHED_TEST. These four
# hosts are for the four settings for the L2 cache.
# 1. L2_d=LRU, L2_m=LRU
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName lrud-lrum.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_lrud_lrum"
#MEMCACHED ModPagespeedMemcachedServers localhost:@@MEMCACHED_PORT@@
#REDIS ModPagespeedRedisServer localhost:@@REDIS_PORT@@
ModPagespeedLRUCacheKbPerProcess 1024
ModPagespeedLRUCacheByteLimit 2000
ModPagespeedEnableFilters rewrite_images
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
ModPagespeedCreateSharedMemoryMetadataCache "@@MOD_PAGESPEED_CACHE@@_lrud_shmm" 8192
# 2. L2_d=LRU, L2_m=SHM
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName lrud-shmm.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_lrud_shmm"
#MEMCACHED ModPagespeedMemcachedServers localhost:@@MEMCACHED_PORT@@
#REDIS ModPagespeedRedisServer localhost:@@REDIS_PORT@@
ModPagespeedLRUCacheKbPerProcess 1024
ModPagespeedLRUCacheByteLimit 2000
ModPagespeedEnableFilters rewrite_images
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
ModPagespeedCreateSharedMemoryMetadataCache "@@MOD_PAGESPEED_CACHE@@_noned_shmm" 8192
# 3. L2_d=none, L2_m=SHM
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName noned-shmm.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_noned_shmm"
#MEMCACHED ModPagespeedMemcachedServers localhost:@@MEMCACHED_PORT@@
#REDIS ModPagespeedRedisServer localhost:@@REDIS_PORT@@
ModPagespeedEnableFilters rewrite_images
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
# 4. L2_d=none, L2_m=none
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName noned-nonem.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_noned_nonem"
#MEMCACHED ModPagespeedMemcachedServers localhost:@@MEMCACHED_PORT@@
#REDIS ModPagespeedRedisServer localhost:@@REDIS_PORT@@
ModPagespeedEnableFilters rewrite_images
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
# Test host for issue 809: losing extra headers with cache-control set early.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName issue809.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
header add Issue809 Issue809Value
header add Cache-Control max-age=60 early
# The tests using this vhost scan for css-combine URLs and will not find
# them if the combined css file is then css-minified. So we explicitly
# disable these and other distracting filters for easy output scanning.
#
# It is less effective to rely on 'level passthrough' because we might
# still inherit explicitly-enabled filters from the root configuration in
# some passes through system_test.sh.
ModPagespeedDisableFilters rewrite_css,add_instrumentation,flatten_css_imports
ModPagespeedEnableFilters rewrite_images,combine_css
ModPagespeedCriticalImagesBeaconEnabled false
ModPagespeedModifyCachingHeaders on
</VirtualHost>
# Build a configuration hierarchy where at the root we have turned on
# OptimizeForBandwidth, and in various subdirectories we override settings
# to make them more aggressive.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName optimizeforbandwidth.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel OptimizeForBandwidth
ModPagespeedDisableFilters add_instrumentation
ModPagespeedBlockingRewriteKey psatest
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/optimize_for_bandwidth/inline_css" >
ModPagespeedEnableFilters inline_css
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/optimize_for_bandwidth/css_urls" >
ModPagespeedCssPreserveURLs off
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/optimize_for_bandwidth/image_urls" >
ModPagespeedImagePreserveURLs off
</Directory>
<Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/optimize_for_bandwidth/core_filters" >
ModPagespeedRewriteLevel CoreFilters
</Directory>
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName respectvary.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRespectVary on
Header append Vary User-Agent
</VirtualHost>
#PER_VHOST_STATS ModPagespeedUsePerVHostStatistics on
#PER_VHOST_STATS # Make sure we behave OK with this on, too.
#PER_VHOST_STATS ModPagespeedFetchWithGzip on
#NO_PER_VHOST_STATS # Overrides "ModPagespeedUsePerVHostStatistics on" above.
#NO_PER_VHOST_STATS ModPagespeedUsePerVHostStatistics off
# TODO(sligocki): Get rid of this once this is integrated into console.
<Location /mod_pagespeed_temp_statistics_graphs>
SetHandler mod_pagespeed_temp_statistics_graphs
</Location>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName purge.example.com
# Test purging individual URLs without flushing the entire metadata cache.
ModPagespeedEnableCachePurge on
ModPagespeedPurgeMethod PURGE
DocumentRoot "@@APACHE_DOC_ROOT@@/purge"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_purge"
ModPagespeedDisableFilters add_instrumentation
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css
</VirtualHost>
# For testing ModPagespeed off, but with a directory-scope turning it
# back on.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName psoff-dir-on.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/purge"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_mpsoff_dir_on"
ModPagespeed off
ModPagespeedEnableCachePurge on
ModPagespeedPurgeMethod PURGE
ModPagespeedDisableFilters add_instrumentation
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css
<Directory "@@APACHE_DOC_ROOT@@/purge">
ModPagespeed on
</Directory>
</VirtualHost>
# For testing ModPagespeed off, but with an htaccess turning it
# back on.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName psoff-htaccess-on.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/purge"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_mpsoff_htaccess_on"
ModPagespeed off
ModPagespeedEnableCachePurge on
ModPagespeedPurgeMethod PURGE
ModPagespeedDisableFilters add_instrumentation
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_css
<Directory "@@APACHE_DOC_ROOT@@/purge">
AllowOverride All
</Directory>
</VirtualHost>
ModPagespeedMessagesDomains Allow messages-allowed.example.com
ModPagespeedMessagesDomains Allow cleared-inherited.example.com
ModPagespeedMessagesDomains Allow cleared-inherited-reallowed.example.com
ModPagespeedMessagesDomains Allow more-messages-allowed.example.com
ModPagespeedMessagesDomains Allow anything-*-wildcard.example.com
ModPagespeedMessagesDomains Allow localhost
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName messages-allowed.example.com
ServerAlias messages-not-allowed.example.com
ServerAlias more-messages-allowed.example.com
ServerAlias anything-a-wildcard.example.com
ServerAlias anything-b-wildcard.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName messages-still-not-allowed.example.com
ServerAlias but-this-message-allowed.example.com
ServerAlias and-this-one.example.com
ModPagespeedMessagesDomains Allow but-this-message-allowed.example.com
ModPagespeedMessagesDomains Allow and-this-one.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName cleared-inherited.example.com
ServerAlias cleared-inherited-reallowed.example.com
ServerAlias messages-allowed-at-vhost.example.com
ServerAlias messages-not-allowed-at-vhost.example.com
ServerAlias anything-c-wildcard.example.com
ModPagespeedMessagesDomains Disallow *
ModPagespeedMessagesDomains Allow cleared-inherited-reallowed.example.com
ModPagespeedMessagesDomains Allow messages-allowed-at-vhost.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName cleared-inherited-unlisted.example.com
ModPagespeedMessagesDomains Allow *
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName nothing-allowed.example.com
ModPagespeedMessagesDomains Disallow *
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName nothing-explicitly-allowed.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName everything-explicitly-allowed.example.com
ServerAlias everything-explicitly-allowed-but-aliased.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedStatisticsDomains Allow everything-explicitly-allowed.example.com
ModPagespeedGlobalStatisticsDomains \
Allow everything-explicitly-allowed.example.com
ModPagespeedMessagesDomains Allow everything-explicitly-allowed.example.com
ModPagespeedConsoleDomains Allow everything-explicitly-allowed.example.com
ModPagespeedAdminDomains Allow everything-explicitly-allowed.example.com
ModPagespeedGlobalAdminDomains Allow everything-explicitly-allowed.example.com
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName debug-filters.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters debug
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName content-encoding.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters debug
ModPagespeedSlurpDirectory @@APACHE_DOC_ROOT@@/mod_pagespeed_test/bogus_content_encoding/
ModPagespeedSlurpReadOnly on
</VirtualHost>
#STATS_LOGGING ModPagespeedStatistics on
#STATS_LOGGING ModPagespeedStatisticsLogging on
#STATS_LOGGING ModPagespeedLogDir "@@MOD_PAGESPEED_LOG@@"
#STATS_LOGGING ModPagespeedStatisticsLoggingIntervalMs 10
#SPELING # Enable mod_speling to ensure that we don't regress Issue 194
#SPELING <IfModule !speling_module>
#SPELING LoadModule speling_module @@APACHE_MODULES@@/mod_speling.so
#SPELING </IfModule>
#SPELING CheckSpelling on
#GZIP ModPagespeedFetchWithGzip on
#GZIP SetOutputFilter DEFLATE
#STRESS # These lines are only needed for the stress test.
#STRESS <Directory "@@APACHE_DOC_ROOT@@/mod_pagespeed_example/cgi" >
#STRESS Options +ExecCGI
#STRESS </Directory>
#STRESS AddHandler cgi-script .cgi
#STRESS <IfVersion >= 2.4.2>
#STRESS <IfModule !slotmem_shm_module>
#STRESS LoadModule slotmem_shm_module @@APACHE_MODULES@@/mod_slotmem_shm.so
#STRESS </IfModule>
#STRESS </IfVersion>
# Globally set the message-buffer size during load-tests.
#
# TODO(jmarantz): add a test-path where we set this in a VirtualHost and
# make sure the right error message comes out.
#LOADTEST ModPagespeedMessageBufferSize 100000
#LOADTEST
#LOADTEST # We want backtraces to be dumped during the load test, as
#LOADTEST # one of its purposes is to discover crash bugs.
#LOADTEST ModPagespeedInstallCrashHandler on
#LOADTEST
#LOADTEST # These lines are used for large-scale code coverage testing.
#LOADTEST # We use 2 servers for it, one doing rewriting and fetching
#LOADTEST # from the other one, which plays back slurps
#LOADTEST Listen 8081
#LOADTEST <VirtualHost *:8080>
#LOADTEST ModPagespeed on
#LOADTEST # Proxy using SERF
#LOADTEST ModPagespeedTestProxy on
#LOADTEST ModPagespeedFetchProxy "127.0.0.1:8081"
#IPRO_PRESERVE_LOADTEST ModPagespeedInPlaceResourceOptimization on
#IPRO_PRESERVE_LOADTEST ModPagespeedInPlaceWaitForOptimized on
#IPRO_PRESERVE_LOADTEST ModPagespeedCssPreserveURLs on
#IPRO_PRESERVE_LOADTEST ModPagespeedImagePreserveURLs on
#IPRO_PRESERVE_LOADTEST ModPagespeedJsPreserveURLS on
#LOADTEST
#MEMCACHED_LOADTEST ModPagespeedMemcachedServers localhost:@@MEMCACHED_PORT@@
#REDIS_LOADTEST ModPagespeedRedisServer localhost:@@REDIS_PORT@@
#PURGING_LOADTEST ModPagespeedEnableCachePurge on
#PURGING_LOADTEST ModPagespeedCompressMetadataCache on
#LOADTEST ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_load_test"
#LOADTEST ModPagespeedCompressMetadataCache true
#LOADTEST ModPagespeedRewriteLevel AllFilters
#IPRO_PRESERVE_LOADTEST ModPagespeedRewriteLevel OptimizeForBandwidth
#IPRO_PRESERVE_LOADTEST ModPagespeedDisableFilters add_instrumentation
#IPRO_PRESERVE_LOADTEST ModPagespeedDisableFilters local_storage_cache,debug
#IPRO_PRESERVE_LOADTEST ModPagespeedDisableFilters lazyload_images
#IPRO_PRESERVE_LOADTEST ModPagespeedDisableFilters add_base_tag
#IPRO_PRESERVE_LOADTEST ModPagespeedDisableFilters dedup_inlined_images
#IPRO_PRESERVE_LOADTEST ModPagespeedDisableFilters convert_jpeg_to_webp
#IPRO_PRESERVE_LOADTEST ModPagespeedInPlaceRewriteDeadlineMs 1000
#IPRO_PRESERVE_LOADTEST
#IPRO_PRESERVE_LOADTEST # We turn preemptive rewriting off for bandwidth
#IPRO_PRESERVE_LOADTEST # tests driven by recursive wget, where the image
#IPRO_PRESERVE_LOADTEST # requests will come too quickly to allow any
#IPRO_PRESERVE_LOADTEST # image rewrites to finish. Leaving preemptive
#IPRO_PRESERVE_LOADTEST # rewrites enabled causes redundant image rewrites
#IPRO_PRESERVE_LOADTEST # to occur.
#IPRO_PRESERVE_LOADTEST ModPagespeedInPlacePreemptiveRewriteImages off
#IPRO_PRESERVE_LOADTEST ModPagespeedInPlacePreemptiveRewriteCss off
#IPRO_PRESERVE_LOADTEST ModPagespeedInPlacePreemptiveRewriteCssImages off
#IPRO_PRESERVE_LOADTEST ModPagespeedInPlacePreemptiveRewriteJavascript off
#LOADTEST
#LOADTEST # flush_subsresources doesn't work in MPS but disables
#LOADTEST # combine_css and combine_javascript, so we don't want to
#LOADTEST # load-test it.
#LOADTEST ModPagespeedDisableFilters flush_subresources
#LOADTEST ModPagespeedEnableFilters elide_attributes
#DOMAIN_AUTH_LOADTEST ModPagespeedDomain *
#IUR_LOADTEST ModPagespeedInlineResourcesWithoutExplicitAuthorization Script,Stylesheet
#LOADTEST ModPagespeedFileCacheSizeKb 1024000
#LOADTEST ModPagespeedFileCacheCleanIntervalMs 120000
#LOADTEST ModPagespeedLRUCacheKbPerProcess 1024
#LOADTEST ModPagespeedLRUCacheByteLimit 16384
#LOADTEST ModPagespeedCssFlattenMaxBytes 102400
#LOADTEST ModPagespeedCssInlineMaxBytes 2048
#LOADTEST ModPagespeedCssImageInlineMaxBytes 0
#LOADTEST ModPagespeedImageInlineMaxBytes 3072
#LOADTEST ModPagespeedMaxInlinedPreviewImagesIndex -1
#LOADTEST ModPagespeedMinImageSizeLowResolutionBytes 3072
#LOADTEST ModPagespeedJsInlineMaxBytes 2048
#LOADTEST ModPagespeedCssOutlineMinBytes 3000
#LOADTEST ModPagespeedJsOutlineMinBytes 3000
#LOADTEST ModPagespeedImageMaxRewritesAtOnce 8
#LOADTEST ModPagespeedSlurpFlushLimit 8192
#LOADTEST ModPagespeedJpegRecompressionQuality -1
#LOADTEST ModPagespeedImageLimitOptimizedPercent 100
#LOADTEST ModPagespeedImageLimitResizeAreaPercent 100
#LOADTEST
#LOADTEST # Enabling beacons is not interesting in our current
#LOADTEST # load-test framework as the load-tester doesn't run JS
#LOADTEST # and thus can't send back any beacons. This means we
#LOADTEST # won't be able to test inline images, since we don't know
#LOADTEST # which images are critical. Better to turn it off.
#LOADTEST # TODO(jud): Load-test the critical images beacon in a
#LOADTEST # context that sends back beacons.
#LOADTEST ModPagespeedCriticalImagesBeaconEnabled false
#LOADTEST
#LOADTEST <Location /mod_pagespeed_statistics>
#LOADTEST Order allow,deny
#LOADTEST Allow from localhost
#LOADTEST SetHandler mod_pagespeed_statistics
#LOADTEST </Location>
#LOADTEST <Location /mod_pagespeed_message>
#LOADTEST Allow from localhost
#LOADTEST Allow from 127.0.0.1
#LOADTEST SetHandler mod_pagespeed_message
#LOADTEST </Location>
#LOADTEST </VirtualHost>
#LOADTEST
#LOADTEST <VirtualHost *:8081>
#LOADTEST ModPagespeed on
#LOADTEST
#LOADTEST ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@-alt"
#LOADTEST ModPagespeedRewriteLevel PassThrough
#LOADTEST ModPagespeedInPlaceResourceOptimization off
#LOADTEST
#LOADTEST # ModPagespeedSlurpDirectory ...
#LOADTEST # ModPagespeedSlurpReadOnly on
#LOADTEST
#LOADTEST <Location /mod_pagespeed_message>
#LOADTEST Allow from localhost
#LOADTEST Allow from 127.0.0.1
#LOADTEST SetHandler mod_pagespeed_message
#LOADTEST </Location>
#LOADTEST </VirtualHost>
#PROXY # This is used for ProxyPass testing.
#PROXY # See: http://github.com/pagespeed/mod_pagespeed/issues/74
#PROXY # We use 2 servers for it, one doing rewriting and fetching
#PROXY # from the other one which does not have mod_pagespeed enabled.
#PROXY Listen 8081
#PROXY <VirtualHost *:8080>
#PROXY # Host at 8080 should have no relevant content.
#PROXY DocumentRoot /tmp/
#PROXY
#PROXY # Turn these declarations back on during testing if you are
#PROXY # having trouble distinguishing which server is saying what.
#PROXY #ErrorLog "@@MOD_PAGESPEED_CACHE@@logs/error_log"
#PROXY #CustomLog "@@MOD_PAGESPEED_CACHE@@logs/access_log" common
#PROXY
#PROXY ModPagespeed on
#PROXY
#PROXY ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#PROXY
#PROXY ModPagespeedRewriteLevel PassThrough
#PROXY ModPagespeedEnableFilters extend_cache
#PROXY ModPagespeedDomain *
#PROXY
#PROXY # Test depends upon URLs being absolutified.
#PROXY ModPagespeedPreserveUrlRelativity off
#PROXY
#PROXY # Proxy through to 8081.
#PROXY ProxyPass / http://localhost:8081/
#PROXY </VirtualHost>
#PROXY
#PROXY <VirtualHost *:8081>
#PROXY # Host at 8081 sees into mod_pagespeed_examples directory.
#PROXY DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/"
#PROXY
#PROXY #ErrorLog "@@MOD_PAGESPEED_CACHE@@-alt/logs/error_log"
#PROXY #CustomLog "@@MOD_PAGESPEED_CACHE@@-alt/logs/access_log" common
#PROXY
#PROXY ModPagespeed off
#PROXY ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@-alt"
#PROXY ModPagespeedRewriteLevel PassThrough
#PROXY </VirtualHost>
#SLURP # This is used for Slurp testing. The initial slurp testing
#SLURP # uses a slurp test dir pre-populated from source control,
#SLURP # via a read-only slurp setup on port 8080. We also test slurp
#SLURP # writing via an origin server on port 8081, and a slurp server
#SLURP # on 8082 with slurping read-only off.
#SLURP Listen 8081
#SLURP Listen 8082
#SLURP <VirtualHost *:8080>
#SLURP ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
#SLURP ModPagespeedSlurpDirectory "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/slurp"
#SLURP ModPagespeedSlurpReadOnly on
#SLURP </VirtualHost>
#SLURP <VirtualHost *:8081>
#SLURP # Host at 8081 sees into mod_pagespeed_examples directory.
#SLURP DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_test/"
#SLURP
#SLURP ModPagespeed off
#SLURP ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@-alt"
#SLURP ModPagespeedRewriteLevel PassThrough
#SLURP </VirtualHost>
#SLURP <VirtualHost *:8082>
#SLURP ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@-alt2"
#SLURP ModPagespeedSlurpDirectory @@TMP_SLURP_DIR@@
#SLURP ModPagespeedSlurpReadOnly off
#SLURP ModPagespeedDomain *
#SLURP ModPagespeedMaxHtmlParseBytes 1000000
#SLURP ModPagespeedSlurpFlushLimit 10000
#SLURP </VirtualHost>
#SHARED_MEM_LOCKS ModPagespeedSharedMemoryLocks on
#HTTPS # This is used for testing https requests.
#HTTPS <IfVersion >= 2.4>
#HTTPS <IfModule !socache_shmcb_module>
#HTTPS LoadModule socache_shmcb_module @@APACHE_MODULES@@/mod_socache_shmcb.so
#HTTPS </IfModule>
#HTTPS <IfModule !slotmem_shm_module>
#HTTPS LoadModule slotmem_shm_module @@APACHE_MODULES@@/mod_slotmem_shm.so
#HTTPS </IfModule>
#HTTPS </IfVersion>
#HTTPS Include conf/extra/httpd-ssl.conf
#HTTPS <IfModule !ssl_module>
#HTTPS LoadModule ssl_module @@APACHE_MODULES@@/mod_ssl.so
#HTTPS </IfModule>
#HTTPS SSLRandomSeed startup builtin
#HTTPS SSLRandomSeed connect builtin
#HTTPS ModPagespeedMapOriginDomain http://@@APACHE_DOMAIN@@ https://@@APACHE_HTTPS_DOMAIN@@
#EXPERIMENT_GA # This is used for testing the experiment framework.
#EXPERIMENT_GA ModPagespeedRunExperiment on
#EXPERIMENT_GA ModPagespeedAnalyticsID "123-45-6734"
#EXPERIMENT_GA ModPagespeedUseAnalyticsJs false
#EXPERIMENT_GA ModPagespeedExperimentVariable 2
#EXPERIMENT_GA ModPagespeedExperimentSpec "id=7;enable=recompress_images,rewrite_javascript;disable=convert_jpeg_to_progressive;percent=50;options=AvoidRenamingIntrospectiveJavascript=off,JsInlineMaxBytes=4"
#EXPERIMENT_GA ModPagespeedExperimentSpec "id=2;enable=recompress_images,rewrite_javascript;percent=50;options=AvoidRenamingIntrospectiveJavascript=on"
#EXPERIMENT_GA ModPagespeedExperimentSpec "id=3;default;percent=0"
#EXPERIMENT_NO_GA # This is used for testing the experiment framework still
#EXPERIMENT_NO_GA # works when no analytics ID is specified. It should assign
#EXPERIMENT_NO_GA # users to experiments and use appropriate experimental
#EXPERIMENT_NO_GA # options but not report back to Google Analytics. The
#EXPERIMENT_NO_GA # instrumentation beacon, however, will still contain the
#EXPERIMENT_NO_GA # experiment id.
#EXPERIMENT_NO_GA ModPagespeedRunExperiment on
#EXPERIMENT_NO_GA ModPagespeedExperimentVariable 2
#EXPERIMENT_NO_GA ModPagespeedExperimentSpec "id=7;enable=recompress_images,rewrite_javascript;disable=convert_jpeg_to_progressive;percent=50;options=AvoidRenamingIntrospectiveJavascript=off,JsInlineMaxBytes=4;invalid=this-should-print-a-warning"
#EXPERIMENT_NO_GA ModPagespeedExperimentSpec "id=2;enable=recompress_images,rewrite_javascript;percent=50;options=AvoidRenamingIntrospectiveJavascript=on"
#EXPERIMENT_NO_GA ModPagespeedExperimentSpec "id=3;default;percent=0"
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName experiment.devicematch.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel PassThrough
ModPagespeedRunExperiment on
ModPagespeedUseAnalyticsJs false
ModPagespeedExperimentSpec "id=1;percent=100;matches_device_type=mobile;enable=recompress_images"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName experiment.ajax.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedRewriteLevel CoreFilters
ModPagespeedDisableFilters add_instrumentation
ModPagespeedRunExperiment on
ModPagespeedUseAnalyticsJs false
ModPagespeedJsInlineMaxBytes 1
ModPagespeedExperimentSpec "id=1;percent=100;level=CoreFilters;enable=collapse_whitespace;options=JsInlineMaxBytes=1"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName ajax.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedJsInlineMaxBytes 1
ModPagespeedRewriteLevel CoreFilters
ModPagespeedDisableFilters add_instrumentation
</VirtualHost>
# Support for embedded configurations, where image flags in the
# VirtualHost serving HTML is not the same as the one serving resources,
# and thus we must embed the image flags in the rewritten image URLs.
#
# Note that we test with two distinct caches.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName embed-config-html.example.org
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_test"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedAddOptionsToUrls on
ModPagespeedJpegRecompressionQuality 73
ModPagespeedDisableFilters inline_css,extend_cache,inline_javascript
ModPagespeedDomain embed-config-resources.example.com
# Share a cache keyspace with embed-config-resources.example.com.
ModPagespeedCacheFragment "embed-config"
ModPagespeedLoadFromFile "http://embed-config-resources.example.com/" \
"@@APACHE_DOC_ROOT@@/mod_pagespeed_example/"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName embed-config-resources.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@"
ModPagespeedAddOptionsToUrls on
# Note that we do not set the jpeg quality here, but take
# it from image URL query parameters that we synthesize in
# from embed-config-html.example.com.
# Share a cache keyspace with embed-config-html.example.org.
ModPagespeedCacheFragment "embed-config"
ModPagespeedLoadFromFile "http://embed-config-resources.example.com/" \
"@@APACHE_DOC_ROOT@@/mod_pagespeed_example/"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName ipro-for-browser.example.com
ModPagespeedEnableFilters rewrite_images,rewrite_css
ModPagespeedEnableFilters convert_to_webp_lossless
ModPagespeedEnableFilters in_place_optimize_for_browser
ModPagespeedJpegRecompressionQuality 75
ModPagespeedWebpRecompressionQuality 70
ModPagespeedInPlaceResourceOptimization on
ModPagespeedAllowVaryOn "Accept"
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_ipro_for_browser"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName ipro-for-browser-vary-on-auto.example.com
ModPagespeedEnableFilters rewrite_images,rewrite_css
ModPagespeedEnableFilters convert_to_webp_lossless
ModPagespeedEnableFilters convert_to_webp_animated
ModPagespeedEnableFilters in_place_optimize_for_browser
ModPagespeedInPlaceResourceOptimization on
# ModPagespeedAllowVaryOn "Auto" # Default is "Auto"
ModPagespeedImageRecompressionQuality 90
ModPagespeedJpegRecompressionQuality 75
ModPagespeedJpegRecompressionQualityForSmallScreens 55
ModPagespeedJpegQualityForSaveData 35
ModPagespeedWebpRecompressionQuality 70
ModPagespeedWebpRecompressionQualityForSmallScreens 50
ModPagespeedWebpQualityForSaveData 30
ModPagespeedWebpAnimatedRecompressionQuality 60
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_ipro_for_browser"
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName ipro-for-browser-vary-on-none.example.com
ModPagespeedEnableFilters rewrite_images,in_place_optimize_for_browser
ModPagespeedInPlaceResourceOptimization on
ModPagespeedAllowVaryOn "None"
ModPagespeedImageRecompressionQuality 75
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_ipro_for_browser"
</VirtualHost>
# For testing Modpagespeed unplugged.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName mpsunplugged.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeed unplugged
</VirtualHost>
# For testing Modpagespeed off.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName mpsoff.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_mpsoff"
ModPagespeed off
</VirtualHost>
#GZIP # For testing measurement proxy things.
#GZIP <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#GZIP ServerName mpr.example.com
#GZIP DocumentRoot "@@APACHE_DOC_ROOT@@"
#GZIP ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_mpr"
#GZIP ModPagespeedExperimentalProxyAllRequests on
#GZIP ModPagespeedExperimentalMeasurementProxy "http://mpr.example.com" secret
#GZIP </VirtualHost>
#GZIP
#GZIP # For testing measurement proxy things, passthrough.
#GZIP <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#GZIP ServerName mprpass.example.com
#GZIP DocumentRoot "@@APACHE_DOC_ROOT@@"
#GZIP ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_mprpass"
#GZIP ModPagespeedExperimentalProxyAllRequests on
#GZIP ModPagespeedExperimentalMeasurementProxy "http://mprpass.example.com" secret
#GZIP ModPagespeedRewriteLevel PassThrough
#GZIP ModPagespeedInPlaceResourceOptimization off
#GZIP </VirtualHost>
#PROCESS_SCOPE # For testing how we handle process-scope options.
#PROCESS_SCOPE ModPagespeedIproMaxResponseBytes 1048576001
#PROCESS_SCOPE <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#PROCESS_SCOPE ServerName ps1.example.com
#PROCESS_SCOPE DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example"
#PROCESS_SCOPE ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_mpr"
#PROCESS_SCOPE ModPagespeedIproMaxResponseBytes 1048576002
#PROCESS_SCOPE ModPagespeedEnableFilters debug
#PROCESS_SCOPE </VirtualHost>
#PROCESS_SCOPE
#PROCESS_SCOPE <VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
#PROCESS_SCOPE ServerName ps2.example.com
#PROCESS_SCOPE DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_example"
#PROCESS_SCOPE ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_mpr"
#PROCESS_SCOPE ModPagespeedIproMaxResponseBytes 1048576003
#PROCESS_SCOPE ModPagespeedEnableFilters debug
#PROCESS_SCOPE </VirtualHost>
# For testing with a custom origin header. In this VirtualHost,
# /mod_pagespeed_test is included in our DocumentRoot and thus does
# not need to be in any resource URL paths. This helps us verify that
# we are looping back to the corect VirtualHost -- if we hit the wrong
# one it will not work. Also we don't have a VirtualHost for
# sharedcdn.example.com, so the default Host header used for
# origin-mapping won't work either. Instead, we want origin-fetches
# to go back to this VirtualHost so we rely on the new third optional
# argument to MapOriginDomain.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName customhostheader.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@/mod_pagespeed_test"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_test"
ModPagespeed on
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_images
ModPagespeedMapOriginDomain \
localhost:@@APACHE_SECONDARY_PORT@@/customhostheader \
sharedcdn.example.com/test \
customhostheader.example.com
ModPagespeedJpegRecompressionQuality 50
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
# For testing where we do our loopback routing. Note that this is listening
# on an unusual loopback IP.
Listen 127.0.0.2:@@APACHE_TERTIARY_PORT@@
<VirtualHost 127.0.0.2:@@APACHE_TERTIARY_PORT@@>
ServerName loopbackfetch.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_loopbackfetch"
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
# Host for testing mobilization and proxy_suffix.
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName @@PAGESPEED-TEST-HOST@@.suffix.net
ModPagespeedProxySuffix .suffix.net
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFetchProxy localhost:@@APACHE_SECONDARY_PORT@@
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_proxysuffix"
ModPagespeedRewriteLevel PassThrough
ModPagespeedProxySuffix .suffix.net
ModPagespeedEnableFilters rewrite_domains,collapse_whitespace,mobilize
ModPagespeedEnableFilters rewrite_images,experiment_collect_mob_image_info,rewrite_css
ModPagespeedEnableFilters rewrite_domains,mobilize
ModPagespeedEnableFilters inline_javascript,rewrite_javascript
ModPagespeedDisableFilters add_instrumentation,inline_images
ModPagespeedDomainRewriteHyperlinks on
ModPagespeedCriticalImagesBeaconEnabled false
ModPagespeedRewriteDeadlinePerFlushMs 5000
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName flush.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@_test"
ModPagespeed on
ModPagespeedRewriteLevel PassThrough
ModPagespeedRewriteDeadlinePerFlushMs 1
ModPagespeedDisableFilters add_instrumentation
</VirtualHost>
<VirtualHost localhost:@@APACHE_SECONDARY_PORT@@>
ServerName broken-fetch.example.com
DocumentRoot "@@APACHE_DOC_ROOT@@"
ModPagespeedFileCachePath "@@MOD_PAGESPEED_CACHE@@/broken-fetch"
# Set up a fetch proxy that will 404 every request.
ModPagespeedFetchProxy "brokenfetch.example.com:1111"
# Prevent loopback fetch by explicitly authorizing the domain. Loopback
# fetches would work, and for this test, we're trying to have fetches fail,
# so they are instead picked up by the ipro recorder.
ModPagespeedDomain http://broken-fetch.example.com
ModPagespeedInPlaceResourceOptimization on
ModPagespeedRewriteLevel PassThrough
ModPagespeedEnableFilters rewrite_javascript
ModPagespeedDisableFilters add_instrumentation
ModPagespeedCriticalImagesBeaconEnabled false
</VirtualHost>
# In case the system has not added webp as an installed mimetype, this
# is needed to allow automatic/system_tests/resource_content_type_html.sh
# to work, as that is needed for
# automatic/system_tests/resource_content_type_html.sh to work.
AddType image/webp .webp
# As above, for verifying JSON content-type in system/system_test.sh
AddType application/json .json
# Override CentOS which uses ancient default of text/javascript.
AddType application/javascript .js
#ALL_DIRECTIVES # Invoke all ModPagespeed* directives to make sure they work:
#ALL_DIRECTIVES ModPagespeedAllow foo
#ALL_DIRECTIVES ModPagespeedAddResourceHeader foo bar
#ALL_DIRECTIVES ModPagespeedAnalyticsID 1234
#ALL_DIRECTIVES ModPagespeedAvoidRenamingIntrospectiveJavascript true
#ALL_DIRECTIVES ModPagespeedAllowOptionsToBeSetByCookies true
#ALL_DIRECTIVES ModPagespeedBeaconUrl "http://example.com/beacon"
#ALL_DIRECTIVES ModPagespeedBlockingRewriteKey test
#ALL_DIRECTIVES ModPagespeedCacheFlushFilename /tmp/cache.flush
#ALL_DIRECTIVES ModPagespeedCacheFlushPollIntervalSec 10
#ALL_DIRECTIVES ModPagespeedCacheFragment share-a-cache-please
#ALL_DIRECTIVES ModPagespeedClientDomainRewrite false
#ALL_DIRECTIVES ModPagespeedCombineAcrossPaths true
#ALL_DIRECTIVES ModPagespeedCompressMetadataCache true
#ALL_DIRECTIVES ModPagespeedCriticalImagesBeaconEnabled true
#ALL_DIRECTIVES ModPagespeedCreateSharedMemoryMetadataCache config 10000
#ALL_DIRECTIVES ModPagespeedCssFlattenMaxBytes 2000
#ALL_DIRECTIVES ModPagespeedCssImageInlineMaxBytes 2000
#ALL_DIRECTIVES ModPagespeedCssInlineMaxBytes 2000
#ALL_DIRECTIVES ModPagespeedCssOutlineMinBytes 2000
#ALL_DIRECTIVES ModPagespeedCssPreserveURLs off
#ALL_DIRECTIVES ModPagespeedCustomFetchHeader foo bar
#ALL_DIRECTIVES ModPagespeedDefaultSharedMemoryCacheKB 1000
#ALL_DIRECTIVES ModPagespeedDisableFilters strip_scripts
#ALL_DIRECTIVES ModPagespeedDisallow bar
#ALL_DIRECTIVES ModPagespeedDomain http://example.com
#ALL_DIRECTIVES ModPagespeedDomainRewriteHyperlinks true
#ALL_DIRECTIVES ModPagespeedEnableAggressiveRewritersForMobile false
#ALL_DIRECTIVES ModPagespeedEnableFilters extend_cache
#ALL_DIRECTIVES ModPagespeedExperimentSpec "id=8;percent=10"
#ALL_DIRECTIVES ModPagespeedExperimentVariable 3
#ALL_DIRECTIVES ModPagespeedFetchProxy localhost:4321
#ALL_DIRECTIVES ModPagespeedFetchWithGzip on
#ALL_DIRECTIVES ModPagespeedFetcherTimeOutMs 1000
#ALL_DIRECTIVES ModPagespeedFileCacheCleanIntervalMs 3600000
#ALL_DIRECTIVES ModPagespeedFileCacheInodeLimit 10000
#ALL_DIRECTIVES ModPagespeedFileCachePath /tmp/cache/
#ALL_DIRECTIVES ModPagespeedFileCacheSizeKb 1000
#ALL_DIRECTIVES ModPagespeedFinderPropertiesCacheExpirationTimeMs 300000
#ALL_DIRECTIVES ModPagespeedForbidAllDisabledFilters true
#ALL_DIRECTIVES ModPagespeedForbidFilters rewrite_images
#ALL_DIRECTIVES ModPagespeedForceCaching off
#ALL_DIRECTIVES ModPagespeedEnrollExperiment 3
#ALL_DIRECTIVES ModPagespeedImageInlineMaxBytes 2000
#ALL_DIRECTIVES ModPagespeedImageLimitOptimizedPercent 80
#ALL_DIRECTIVES ModPagespeedImageLimitResizeAreaPercent 80
#ALL_DIRECTIVES ModPagespeedImageMaxRewritesAtOnce 5
#ALL_DIRECTIVES ModPagespeedImageRecompressionQuality 75
#ALL_DIRECTIVES ModPagespeedImageResolutionLimitBytes 10000000
#ALL_DIRECTIVES ModPagespeedImagePreserveURLs false
#ALL_DIRECTIVES ModPagespeedImageWebpRecompressionQuality 85
#ALL_DIRECTIVES ModPagespeedImageWebpRecompressionQualityForSmallScreens 85
#ALL_DIRECTIVES ModPagespeedImplicitCacheTtlMs 60000
#ALL_DIRECTIVES ModPagespeedLoadFromFileCacheTtlMs 60000
#ALL_DIRECTIVES ModPagespeedInPlaceResourceOptimization on
#ALL_DIRECTIVES ModPagespeedInPlaceSMaxAgeSec 20
#ALL_DIRECTIVES ModPagespeedIncreaseSpeedTracking true
#ALL_DIRECTIVES ModPagespeedInstallCrashHandler off
#ALL_DIRECTIVES ModPagespeedJpegRecompressionQuality 80
#ALL_DIRECTIVES ModPagespeedJsInlineMaxBytes 2000
#ALL_DIRECTIVES ModPagespeedJsOutlineMinBytes 2000
#ALL_DIRECTIVES ModPagespeedJsPreserveURLS off
#ALL_DIRECTIVES ModPagespeedLazyloadImagesAfterOnload on
#ALL_DIRECTIVES ModPagespeedLazyloadImagesBlankUrl "http://www.gstatic.com/psa/static/1.gif"
#ALL_DIRECTIVES ModPagespeedLRUCacheByteLimit 1000
#ALL_DIRECTIVES ModPagespeedLRUCacheKbPerProcess 1
#ALL_DIRECTIVES ModPagespeedListOutstandingUrlsOnError on
#ALL_DIRECTIVES ModPagespeedLoadFromFile http://example.com/ /var/html/example/
#ALL_DIRECTIVES ModPagespeedLoadFromFileMatch "^http://example.com/" /var/html/example/
#ALL_DIRECTIVES ModPagespeedLoadFromFileRule allow /var/html/example/
#ALL_DIRECTIVES ModPagespeedLoadFromFileRuleMatch Disallow \.php.css$
#ALL_DIRECTIVES ModPagespeedLogDir /tmp/log/
#ALL_DIRECTIVES ModPagespeedLogRewriteTiming false
#ALL_DIRECTIVES ModPagespeedLowercaseHtmlNames true
#ALL_DIRECTIVES ModPagespeedMaxCombinedCssBytes 100000
#ALL_DIRECTIVES ModPagespeedMaxCombinedJsBytes 100000
#ALL_DIRECTIVES ModPagespeedMapOriginDomain example.com localhost
#ALL_DIRECTIVES ModPagespeedMapRewriteDomain example.com static.example.com
#ALL_DIRECTIVES ModPagespeedMaxImageSizeLowResolutionBytes 1000
#ALL_DIRECTIVES ModPagespeedMaxInlinedPreviewImagesIndex 80
#ALL_DIRECTIVES ModPagespeedMaxSegmentLength 100
#ALL_DIRECTIVES ModPagespeedMemcachedServers localhost:12345
#ALL_DIRECTIVES ModPagespeedMemcachedThreads 1
#ALL_DIRECTIVES ModPagespeedMessageBufferSize 100
#ALL_DIRECTIVES ModPagespeedMinImageSizeLowResolutionBytes 2000
#ALL_DIRECTIVES ModPagespeedModifyCachingHeaders true
#ALL_DIRECTIVES ModPagespeedNumExpensiveRewriteThreads 2
#ALL_DIRECTIVES ModPagespeedNumRewriteThreads 4
#ALL_DIRECTIVES ModPagespeedOptionCookiesDurationMs 12345
#ALL_DIRECTIVES ModPagespeedPermitIdsForCssCombining *foo*
#ALL_DIRECTIVES ModPagespeedPreserveSubresourceHints on
#ALL_DIRECTIVES ModPagespeedPreserveUrlRelativity on
#ALL_DIRECTIVES ModPagespeedProgressiveJpegMinBytes 1000
#ALL_DIRECTIVES ModPagespeedRateLimitBackgroundFetches true
#ALL_DIRECTIVES ModPagespeedRedisServer localhost:55555
#ALL_DIRECTIVES ModPagespeedRedisReconnectionDelayMs 1000
#ALL_DIRECTIVES ModPagespeedRedisTimeoutUs 50000
#ALL_DIRECTIVES ModPagespeedReportUnloadTime true
#ALL_DIRECTIVES ModPagespeedRespectVary true
#ALL_DIRECTIVES ModPagespeedRespectXForwardedProto off
#ALL_DIRECTIVES ModPagespeedRetainComment "special"
#ALL_DIRECTIVES ModPagespeedRewriteDeadlinePerFlushMs 100
#ALL_DIRECTIVES ModPagespeedInPlaceRewriteDeadlineMs 100
#ALL_DIRECTIVES ModPagespeedRewriteLevel CoreFilters
#ALL_DIRECTIVES ModPagespeedRewriteRandomDropPercentage 0
#ALL_DIRECTIVES ModPagespeedRunExperiment true
#ALL_DIRECTIVES ModPagespeedShardDomain example.com 1.example.com,2.example.com
#ALL_DIRECTIVES ModPagespeedSharedMemoryLocks true
#ALL_DIRECTIVES ModPagespeedShmMetadataCacheCheckpointIntervalSec 300
#ALL_DIRECTIVES ModPagespeedSlowFileLatencyUs 80000
#ALL_DIRECTIVES ModPagespeedSlurpDirectory /tmp/slurp/
#ALL_DIRECTIVES ModPagespeedSlurpFlushLimit 5
#ALL_DIRECTIVES ModPagespeedSlurpReadOnly true
#ALL_DIRECTIVES ModPagespeedStatistics true
#ALL_DIRECTIVES ModPagespeedStatisticsLogging true
#ALL_DIRECTIVES ModPagespeedStatisticsLoggingChartsCSS "example.com/css.css"
#ALL_DIRECTIVES ModPagespeedStatisticsLoggingChartsJS "example.com/js.js"
#ALL_DIRECTIVES ModPagespeedStatisticsLoggingIntervalMs 3000
#ALL_DIRECTIVES ModPagespeedStatisticsLoggingMaxFileSizeKb 1024
#ALL_DIRECTIVES ModPagespeedStickyQueryParameters something-private
#ALL_DIRECTIVES ModPagespeedSupportNoScriptEnabled true
#ALL_DIRECTIVES ModPagespeedTestProxy off
#ALL_DIRECTIVES ModPagespeedUrlValuedAttribute span src Hyperlink
#ALL_DIRECTIVES ModPagespeedUseAnalyticsJs false
#ALL_DIRECTIVES ModPagespeedUseExperimentalJsMinifier on
#ALL_DIRECTIVES ModPagespeedUsePerVHostStatistics on
#ALL_DIRECTIVES ModPagespeedXHeaderValue "test"
#ALL_DIRECTIVES ModPagespeedWebpRecompressionQuality 85
#ALL_DIRECTIVES ModPagespeedWebpRecompressionQualityForSmallScreens 85
#ALL_DIRECTIVES ModPagespeedImageJpegNumProgressiveScans 3
#ALL_DIRECTIVES ModPagespeedImageJpegNumProgressiveScansForSmallScreens 2
# Deprecated directives. We should still accept them, even if they do nothing
#ALL_DIRECTIVES ModPagespeedCollectRefererStatistics false
#ALL_DIRECTIVES ModPagespeedHashRefererStatistics false
#ALL_DIRECTIVES ModPagespeedRefererStatisticsOutputLevel simple
#ALL_DIRECTIVES ModPagespeedStatisticsLoggingFile /tmp/log/stats.log
#ALL_DIRECTIVES ModPagespeedDisableForBots 1
#ALL_DIRECTIVES ModPagespeedGeneratedFilePrefix 1
#ALL_DIRECTIVES ModPagespeedInheritVHostConfig 1
#ALL_DIRECTIVES ModPagespeedFetchFromModSpdy 1
#ALL_DIRECTIVES ModPagespeedNumShards 1
#ALL_DIRECTIVES ModPagespeedUrlPrefix 1
#ALL_DIRECTIVES ModPagespeedMaxPrefetchJsElements 1
#ALL_DIRECTIVES ModPagespeedDistributeFetches 1
#ALL_DIRECTIVES ModPagespeedDistributedRewriteKey 1
#ALL_DIRECTIVES ModPagespeedDistributedRewriteServers 1
#ALL_DIRECTIVES ModPagespeedDistributedRewriteTimeoutMs 1