确定。想分享一下 - 花了我10个小时才弄明白。
我已按照好的说明here正确安装了mod-xsendfile。
我还在/etc/httpd/conf/httpd.conf文件中正确配置了xsendfile,添加了以下设置: XSendFile上 XSendFilePath / var / files_need_valid_session_to_view /
我知道我生成X-SENDFILE标头的代码是正确的:它正在另一台服务器上运行。但是,无论我做了什么,我都得到404错误。我的操作系统是CentOS 6.4 final。
答案 0 :(得分:2)
使用正确的SELinux标签标记您的目录。请参阅How to label an apache directory与您的文件夹相同的情况' / var / files_need_valid_session_to_view /'。
禁用SELinux是一种不必要的安全风险。
答案 1 :(得分:0)
Disabling SELinux解决了这个问题。我敢肯定,如果这是一个生产服务器,我应该配置SELinux以允许Apache查看/var/files_need_valid_session_to_view/
,但就我的目的而言,这已经足够了。
$ sudo su
-or-
$ su
# echo 0 >/selinux/enforce // Note - you cannot just say sudo for this line: the stuff after the carrot will not be super-user. sudo su, then do this.
-to perminantly disable, across reboots, see the link at the top of my answer-