Michael Shadle mike503 at
Mon Apr 6 20:40:12 MSD 2009

2009/4/6 Igor Sysoev <is at>:

>    *) Bugfix: now nginx takes into account the "X-Accel-Expires",
>       "Expires", and "Cache-Control" header lines in a backend response.

It wasn't doing this before?

I had code like this (PHP) - was the Cache-Control being ignored? (I
think all headers should be allowed to pass arbitrarily on
X-Accel-Redirect ... no reason to block headers anytime anything is
being proxied unless it conflicts with the actual proxying process -
people will eventually request them anyway :))

header('Cache-Control: no-cache, no-store');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($f_location));
header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
header('X-Accel-Redirect: /foo/protected/' . basename($file_name));

Do I need to change something in this so it works (I'll upgrade to 0.7.50 also)

More information about the nginx mailing list