一人リバースプロキシ/キャッシュサーバー

そんなものを実装する必要があったもので。

必要なもの

  • Apache 2.2.x
  • mod_cache (+ mod_disk_cache or mod_mem_cache)
  • mod_proxy + mod_proxy_http
  • 重たいプログラム(別に重くなくてもいいけど)

設定例


Alias   /__proxy/heavy_program/       /var/www/html/heavy_program/

ProxyPass       /heavy_program/       http://localhost/__proxy/heavy_program/
ProxyPassreverse        /heavy_program/       localhost/__proxy/heavy_program/

CacheEnable disk /heavy_program/
CacheIgnoreCacheControl On
CacheStoreNoStore On
CacheIgnoreNoLastMod On
CacheMaxExpire 3600
CacheDirLength 5
CacheDirLevels 4
CacheMaxFileSize 512000
CacheMinFileSize 0
CacheRoot (お好みのキャッシュディレクトリ)

何ができるのか

/var/www/html/heavy_program/ 配下で動いている動的コンテンツをキャッシュできる。

注意事項

/var/www/html/heavy_program/ 配下で動いている動的コンテンツは、パラメーター付きの場合、Expiresヘッダーを吐かないとキャッシュされませんので注意してください。