キャッシュ付きのフォワードプロキシとしてApacheを設定しようとしていますが、正しく機能していないようです。 Apacheをフォワードプロキシとして機能させることは問題ありませんでしたが、私が何をしても、ディスクやメモリに何もキャッシュしていません。 mods_enabledディレクトリでmod_cacheと競合するものがないことをすでに確認し(すべてコメントアウトすることになりました)、また、キャッシュ関連のすべてのフィールドをmod_cacheの構成ファイルに移動してみました。さらに、キャッシュ要求のログを設定しましたが、それらのログには何も書き込まれていません。以下は私のApache設定です、どんな助けでも大歓迎です!!
<VIRTUALHOST *:8080>
ProxyRequests On
ProxyVia On
#ErrorLog "/var/log/Apache2/proxy-error.log"
#CustomLog "/var/log/Apache2/proxy-access.log" common
CustomLog "/var/log/Apache2/cached-requests.log" common env=cache-hit
CustomLog "/var/log/Apache2/uncached-requests.log" common env=cache-miss
CustomLog "/var/log/Apache2/revalidated-requests.log" common env=cache-revalidate
CustomLog "/var/log/Apache2/invalidated-requests.log" common env=cache-invalidate
LogFormat "%{cache-status}e ..."
# This path must be the same as the one in /etc/default/Apache2
CacheRoot /var/cache/Apache2/mod_disk_cache
# This will also cache local documents. It usually makes more sense to
# put this into the configuration for just one virtual Host.
CacheEnable disk /
#CacheHeader on
CacheDirLevels 3
CacheDirLength 5
##<IfModule mod_mem_cache.c>
# CacheEnable mem /
# MCacheSize 4096
# MCacheMaxObjectCount 100
# MCacheMinObjectSize 1
# MCacheMaxObjectSize 2048
#</IfModule>
<Proxy *>
Order deny,allow
Deny from all
Allow from x.x.x.x
#IP above hidden for this post
<filesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A7200
Header append Cache-Control "proxy-revalidate"
</filesMatch>
</Proxy>
</VIRTUALHOST>
これは古い投稿ですが、自分の答えを見つけたいと思って見つけたので、できることを共有します。役に立つかもしれません。
あなたが言ったことを考えると、私はこうします:
すべてをキャッシュするように強制し、キャッシュディレクトリが空でないことを確認して、何かをキャッシュできることを確認します( 完全な例 ):
CacheIgnoreNoLastMod On
CacheDefaultExpire 7200
上記が機能しない場合、問題はmod_cacheまたはmod_disk_cacheにあるのではないと思います。もしそうならここでやめて、そうでなければ続けてください:
Cache-Controlプライベートヘッダーまたはno-storeヘッダーがまだ存在しないことを確認してください。ある場合は、「ヘッダー追加」の前に以下を追加します。
ヘッダーの未設定のキャッシュ制御
「Etag」、「Last-Modified」、または「Expires」ヘッダーがあることを確認します。 (おそらく、プロキシのパブリック側から、mod_expireが実際にexpiresヘッダーを設定していることを確認するように要求できますか?)
ちなみに、ディスクキャッシュは機能していますが、%{cache-status}をログに表示する方法を理解できていません。