静态资源403_deny规则与防盗链误杀
静态资源403 的排查流程:看 403 是所有页面还是部分页面 → 检查文件权限(目录 755,文件 644)→ 检查目录是否有 index 文件 → 检查 .htaccess/web.config 是否有 deny 规则 → 检查防盗链和 IP 黑名单 → 看错误日志。逐层排查,403 原因通常在前三项就能找到。
deny 规则排查:Apache 的 .htaccess 里有 Deny from all 或 Order Deny,Allow 配置错误;Nginx 的 server/location 里有 deny all;IIS 的 web.config 里有 ipSecurity 或 authorization 规则。注释掉可疑规则测试,找到触发 403 的规则后修正。防盗链规则误杀自己域名的,把自己域名加进白名单。
参考(403权限修复命令): ``` # 查看权限和属主 ls -la /www/wwwroot/域名 ls -la /www/wwwroot/域名/index.php
# 批量修复权限 find /www/wwwroot/域名 -type d -exec chmod 755 {} ; find /www/wwwroot/域名 -type f -exec chmod 644 {} ;
# 修复属主(Nginx) chown -R www:www /www/wwwroot/域名 # Apache chown -R apache:apache /www/wwwroot/域名 # 写入目录给775 chmod 775 /www/wwwroot/域名/upload chown www:www /www/wwwroot/域名/upload
# Nginx错误日志 tail -50 /var/log/nginx/error.log # Apache错误日志 tail -50 /var/log/httpd/error_log
# 测试源站(绕过CDN) curl -I -x 127.0.0.1:80 http://域名/ ```
排查完用浏览器访问验证确认。修复后 curl -I http://域名/页面返回 200,浏览器无痕模式访问正常,图片和静态资源都能加载。如果是权限问题,确认所有目录和文件权限正确,不要留 777。如果是规则问题,确认规则只拦截目标不影响正常访问。
Apache 403 专项:Apache 错误日志在 /var/log/httpd/error_log 或 /var/log/apache2/error.log,常见 "client denied by server configuration"(deny 规则或 Options)、"Permission denied"(文件系统权限)。.htaccess 语法错误会导致 500 不是 403,注意区分。

更新时间:2026-08-30 17:52:21
上一篇:虚拟主机顽固文件删除_删除上传目录 webshell实操