nginx php x-sendfile 下载 0kb

nginx php x-sendfile download 0kb

我正在尝试在我的 nginx 服务器上提供带有 X-Sendfile 的下载。我有最新版本的 nginx,php5.

请求的文件存在,但它只是下载一个空的 0kb 文件,没有内容,但文件名正确。下载开始前我没有做任何输出。

一开始我在 "download" 之后输出,我输出的所有内容在文件中都是可读的。

我查看了 nginx 文档 http://wiki.nginx.org/XSendfile 并将包含下载文件的文件夹设置为 "internal"。

您混淆了 URI 和磁盘路径。你的配置应该是

location ^~ /dl/ {
    internal;
    alias /real/path/to/Download/;
}

我添加了修饰符 ^~ 以防止意外执行 /dl/ 中的 PHP 个文件。