user: worker
server{
location:国外服务器 /static/{
root /home/worker;
}
}
假设你的 Nginx 配置没有任何问题,并且运行 getenforce 的结果是 Enforcing。
首先你要让 SELinux 允许 httpd[1] 访问用户目录。很简单,root 运行 setsebool -P httpd_enable_homedirs 。
"-P" 的意思是 permanent,不带 -P 的话系统重启后恢复默认配置。
然后你要修改 /home/user/static 的 SELinux context。告诉 SELinux,允许此目录被 httpd 访问:
chcon -v -t httpd_user_content_t /home/user/static
没有意外的话应该就可以访问了。
简单易懂的关于 SELinux 的讲座:
Sorry,漏掉了 boolean,是 setsebool -P httpd_enable_homedirs on
那nginx的user配置的目的是什么 为什么不能直接访问呢
DAC 权限和 SELinux 必须同时满足才能运行。
刚才查了以下,Nginx 你好像配错了......
http://wiki.nginx.org/UserDir
路径配置我是参考nginx的doc的 我去试试配置selinux 万分感谢你耐心的回答 有问题再请教你
所有上层目录都要有读取权限
我晕,我今天也遇到这个情况了,无论怎么改权限都不行。明天试试吧
先用sudo确认权限,再看selinux,实在不行就先关掉,先定位问题再看办法
解决了,如 所说,确实是上层目录的问题。
祝各位新春愉快!
需要把上层目录的权限都修改么,应该添加什么权限