ServerName localhost DocumentRoot "/app" # disable cache entriely by default (apart from Etag which is accurate enough) Header add Cache-Control "private no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0" CacheDisable on ExpiresActive off # also turn off last-modified since they are just the timestamps of the file in the docker image # and may or may not bear any resemblance to when the resource changed Header add Last-Modified "" DirectoryIndex index.html # assets can be cached because they have hashed filenames ExpiresActive on ExpiresDefault "access plus 1 week" Header add Cache-Control "public, no-transform" ForceType application/json