由SELinux引起的mod-xsendfile 404

时间:2013-11-05 23:33:40

标签: php apache http-status-code-404 selinux x-sendfile

确定。想分享一下 - 花了我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。

2 个答案:

答案 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-