我正在尝试在我的 apache2 实例上设置反向磁盘缓存代理,以避免过于频繁地访问公开可用的资源。设置是这样的:
local-node --(http)--> reverse-proxy --(https)--> original-resource
为了实现这一点,我做了以下设置reverse-proxy
:
<VirtualHost *:80>
CacheRoot /path/with/www-data/read-write-permissions
CacheDefaultExpire 86400
SSLProxyEngine On
<Location "/location/">
ProxyPass https://example.com/location/
ProxyPassReverse https://example.com/location/
CacheEnable disk
</Location>
然后我启用了模块cache
, cache_disk
, ssl
, proxy
, proxy_html
, proxy_http
.
apache2 服务已正确重新加载,并且http://reverse-proxy/location/file
可以在local-node
. 我看到 apache2 服务器上的日志表明来自正在服务的代理位置的文件。
我没有看到正在形成的磁盘缓存。如果我列出/path/with/www-data/read-write-permissions
,则目录为空。 我现在担心缓存没有按预期工作我可以确认这不起作用,并且我继续对原始https://example.com/location/
请求的每个请求进行处理——我绝对希望避免这种情况。local-node
file
问题):
- 如何解决此问题以启用正确的磁盘缓存?
- 如何确保远程资源不会一直被命中?