I am doing a setup where Apache runs the web application and NginX serves files that users download. The files should be downloaded with their real names instead of the names their are being stored with. The real names are retrieved from a database. I do not understand why am I failing to force NginX to download the files with their real names. I send the following headers in php from Apache to NginX:
header('Location: ' . "http://nginx.mysite.com:8080/" . $file['upload_id']); header('Content-type: ' . $this->mime); header('Content-Disposition: attachment; filename="' . $file['file_name'] . '"'); header('Last-Modified: ' . date('D, d M Y H:i:s \G\M\T' , $this->data_mod));
It looks like NginX ignores the content-disposition header? Or am I failing in the syntax?
curl --head http://…/your/file.ext
is as follows:
HTTP/1.1 200 OK Server: nginx/1.0.5 Date: Sat, 16 Feb 2013 14:26:33 GMT Content-Type: application/octet-stream Content-Length: 38807550 Last-Modified: Sun, 06 Jan 2013 14:37:36 GMT Connection: keep-alive Accept-Ranges: bytes