Apache mod_expires未设置正确的到期日期

时间:2019-05-09 08:16:07

标签: apache gunicorn

我对mod_expires有问题。 我只是简单地将默认过期时间设置为1天,然后按类型(针对图像和音频)设置过期时间。

例如,我将ExpiresByType图片/ jpeg设置为“访问权限加1个月”。 问题在于,每个页面都具有正确的Expires DateTime,因此它已过期加上1天,但是图像和音频(image / jpeg,image / png,音频/ mpeg)的过期时间为12小时。 这是我的配置:

<IfModule mod_cache_disk.c>  
CacheRoot /var/cache/apache2/mod_cache_disk  
 CacheDirLevels 2  
CacheDirLength 1
</IfModule>


....
    CacheQuickHandler off

    CacheLock on
    CacheLockPath /tmp/mod_cache-lock
    CacheLockMaxAge 5

    CacheIgnoreHeaders Set-Cookie
    <Location />
        CacheEnable disk
        CacheHeader on

        CacheDefaultExpire 600
        CacheMaxExpire 86400
        CacheLastModifiedFactor 0.5

        ExpiresActive on
        ExpiresDefault "access plus 1 days"
        ExpiresByType image/jpeg "access plus 1 months"
        ExpiresByType image/png "access plus 1 months"
        ExpiresByType audio/mpeg "access plus 1 months"
        Header merge Cache-Control public
        FileETag All
    </Location>
....

然后,我尝试添加另一个位置,并且不使用ExpiresByType,但仍然没有成功。这是我尝试的方法:

<LocationMatch "(.png|.mp3|.jpg|.jpeg)">
         ExpiresActive on
         Header Set Cache-Control "max-age=1678400"
         ExpiresDefault "access plus 1 days"
         FileETag All
</LocationMatch>

Cache-Control标头具有正确的最大使用期限,但到期日期仍为12小时。

然后我尝试手动进行设置,因此尝试以下操作:

Header Set Expires "Thu, 1 Jan 2020 00:00:00 GMT"

这很好,但是我需要将其设置为自上次访问起1个月/年。

Apache仅对实际服务于当前应用程序的gunicorn Web服务器进行代理传递。

0 个答案:

没有答案