是否可以在配置为反向代理的 Apache 中使用 mod_expires?

是否可以在配置为反向代理的 Apache 中使用 mod_expires?

我的设置如下:

浏览器 <=> EC2 负载均衡器 <=> Apache(反向代理) <=> 码头

Apache 和 Jetty 在 Amazon 云中的同一台机器上运行(Debian Lenny,Linux appinstance 2.6.21.7-2.fc8xen-ec2-v1.0 #1 SMP Tue Sep 1 10:25:30 EDT 2009 x86_64 GNU/Linux)。Apache 版本为 2.2.9。Jetty 版本为 6.1.26。

我想要实现的基本上就是谷歌所说的完美缓存

我的 Apache 配置目前如下所示:

ProxyRequests Off

<Proxy *>
    Order deny,allow
    Allow from all
    SetOutputFilter DEFLATE
</Proxy>

ProxyPass /xxx http://localhost:8080/xxx
ProxyPass /yyy http://localhost:8080/yyy
ProxyPass / http://localhost:9080/

ProxyPreserveHost On

<Files *.nocache.*>
    ExpiresActive  On
    ExpiresDefault "access"
</Files>

<Files *.cache.*>
    ExpiresActive  On
    ExpiresDefault "now plus 1 year"
</Files>

目前我的 ExpiresDefault 规则被完全忽略了。我在 Google 上搜索了好一会儿,却没有任何结果。

是否可以将 mod_expires 与 mod_proxy 结合起来?如果可以:我做错了什么?否则:还有其他可行的替代方案吗?

干杯!Michael

答案1

使用 LocationMatch,而不是 Files。Files 指的是实际的文件系统文件,而不是 URL 最后一个组成部分中的文件名。

相关内容