2

I have an Apache 2.2 server running mod_proxy. We had a scenario where a response came through from the origin corrupted, it didn't have any content-type or cache-control headers. This meant that downstream proxies and clients cached the dodgy response.

What I would like to do is if the response doesn't have a content-type and cache-control header to insert a Cache-Control:max-age=0, no-cache header

MadHatter
  • 79,770
  • 20
  • 184
  • 232
Glenn Slaven
  • 2,400
  • 2
  • 30
  • 42

2 Answers2

2

from the rewritecond manual, I haven't tested but it seems that you could do something like:

RewriteCond %{HTTP:Cache-Control} ^$ [AND]
RewriteCond %{HTTP:Content-Type} ^$
Header add Cache-Control:max-age=0, no-cache
Marcel
  • 1,730
  • 10
  • 15
2

I think to do this in Apache, you'd need to be running 2.4. mod_headers is the normal means of manipulating response headers, and it's not flexible enough to do what you want.

In 2.4, something like this should work:

<If "-z resp('Cache-Control') && -z resp('Content-Type')">
    Header set Cache-Control "max-age=0, no-cache"
</If>
Shane Madden
  • 114,520
  • 13
  • 181
  • 251