我的设置如下:
浏览器 <=> 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 最后一个组成部分中的文件名。