2

我正在尝试在我的 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-nodefile

问题):

  1. 如何解决此问题以启用正确的磁盘缓存?
  2. 如何确保远程资源不会一直被命中?
4

0 回答 0