nginx 访问网站出现 403 禁止访问

现象

  1. 访问网站一直提示403禁止访问
  2. nginx 错误日志

    2021/07/30 14:42:49 [error] 4800#0: *1048 "/www/wwwroot/520.cn/index.php" is forbidden (13: Permission denied), client: 116.22.196.231, server: 520.com, request: "GET / HTTP/2.0", host: "520.com", referrer: "http://baidu.com/"
    2021/07/30 14:42:49 [error] 4800#0: *1048 open() "/www/wwwroot/520.cn/favicon.ico" failed (13: Permission denied), client: 116.22.196.231, server: 520.com, request: "GET /favicon.ico HTTP/2.0", host: "520.com", referrer: "https://520.com/"

排查思路

此问题是某个客户突然联系我说,网站访问不了一直提示403无法访问。起因是添加某个域名证书时突然报错。(客户是使用可视化操作运维系统 宝塔 )

具体报错内容为

nginx: [emerg] invalid number of arguments in "root" directive in /www/server/panel/vhost/nginx/520.luobd.cn.conf:7 nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
  1. ❌ 可能是 .user.ini 文件的限制,导致无权限读取文件(查看限制范围没问题,删了这个防止夸目录限制文件也一样无法正常)
  2. ❌ 可能是网站目录含有了空格或中文等特殊字符(检查后发现没有)
  3. ❌ 可能是nginx启动权限与当前访问权限不一致,导致无权限访问(nginx权限与网站文件权限一直是www权限)
  4. ❌ 因为有具体的保存报错内容,跟根据报错内容怀疑是 填写某个nginx配置文件导致报错,从而导致的nginx访问403
  5. ✔️ 文件目录缺失权限(直接在网站目录创建文件夹都失败,劳资可是root权限啊!!!)

解决方案

查看当前目录上一级目录文件权限

发现文件被添加了 防止系统中某个关键文件被修改 标志位

直接执行 移除文件目录防止修改权限 即可解决

chattr -i ./wwwroot

添加新评论

文章状态:已收录~