ningx突然403权限拒绝解决方案

Nginx 配置:

    location /files/ {
        alias /data/files/;
    }

服务器修复了安全漏洞之后,突然,访问时,直接返回403
查看日志 /var/log/nginx/error.log,报的错大概是:
13 Permission denied…

各种搜索,大部分方案如下:

  • 方案1:
    nginx.conf 里面 user换成root – 不生效
  • 方案2:
    setenforce 0
    这个生效了,,但由于是生产环境,如果关闭了selinux(Security-Enhanced Linux),在安全性上,可能过不去,于是不采用
    额外附查看selinux状态命令:getenforce,sestatus

最后深究了Nginx403真正原因,大概就是selinux会给每个文件加标签,然后文件安全上下文必须匹配,否则无法访问。找到原因了,那么就把要访问的文件夹及文件配置一下
先查看文件目录情况:
ls -lrtZ /data/files/
unconfined_u:object_r:default_t:s0 files

接着使用chcon命令,修改文件的安全上下文
chcon -R -t httpd_sys_content_t /data/files/
执行完,终于可以访问了!

说明:

  • /data/files/ 是Nginx需要访问的文件夹,就是配置里面的
  • httpd_sys_content_t 是允许用户HTTP访问其目录

更多chcon命令,可以参考:https://www.linuxcool.com/chcon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值