虚拟主机403 Forbidden_Nginx Apache IIS对照
百度云服务器网站报 403 Forbidden,是服务器理解请求但拒绝执行。常见原因有文件权限不足、目录没有默认首页、.htaccess/配置文件里有 deny 规则、IP 被封、防盗链拦截。403 Forbidden 时看错误日志和访问日志,定位是哪个规则触发的 403。
deny 规则排查:Apache 的 .htaccess 里有 Deny from all 或 Order Deny,Allow 配置错误;Nginx 的 server/location 里有 deny all;IIS 的 web.config 里有 ipSecurity 或 authorization 规则。注释掉可疑规则测试,找到触发 403 的规则后修正。防盗链规则误杀自己域名的,把自己域名加进白名单。
参考(.htaccess 403常见规则排查): ``` # 错误:禁止所有访问(导致整站403) Order Deny,Allow Deny from all
# 正确:只禁止特定IP Order Deny,Allow Deny from 1.2.3.4 Allow from all
# 防盗链(允许空Referer和自己域名) RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !你的域名 [NC] RewriteRule .(jpg|png|gif)$ - [F,L]
# 目录浏览关闭(无index时403) Options -Indexes # 开启目录浏览(不建议生产环境) Options +Indexes ```
预防 403:权限规范化(目录 755 文件 644)、默认首页必传、修改配置前备份、防盗链白名单包含所有绑定域名、定期检查访问日志的 403 状态码。403 占比超过 5% 就要排查原因,正常站点 403 占比在 1% 以下。
Nginx 403 专项:Nginx 的 403 错误日志在 /var/log/nginx/error.log,常见记录 "directory index of ... is forbidden"(没有 index 文件)、"access forbidden by rule"(deny 规则)、"Permission denied"(权限或 SELinux)。根据日志关键字直接定位。

更新时间:2026-08-26 12:47:42