403 Forbidden 测试说明

模拟 HTTP 403 状态码,观察服务器拒绝访问时的响应行为

实验说明

本页面用于说明 HTTP 403 Forbidden 状态码实验。 实际测试时,点击下方“开始 403 测试”按钮或手动访问 /forbidden-test 路径,Nginx 服务器将直接返回 403 Forbidden 响应。

403 表示服务器已经理解客户端请求,但由于权限配置或访问策略等原因,拒绝提供该资源。 本页面本身只是说明页,真正的 403 响应由 Nginx 配置生成。

实验目的

通过触发并观察 403 Forbidden 响应,可以理解服务器在“拒绝访问”场景下的 HTTP 行为, 并区分 403 与 404 两种常见错误状态码的含义差异。

预期现象

项目 内容
测试入口 /forbidden-test
预期状态码 403 Forbidden
含义 服务器理解请求,但拒绝访问
最终现象 浏览器显示 403 Forbidden 页面或 Nginx 默认错误页

本说明页面位于 /forbidden/index.html,可以正常访问。 真正的 403 测试入口是 /forbidden-test,该路径需要在 Nginx 中配置为拒绝访问。

抓包观察重点

使用 Wireshark 或浏览器开发者工具的 Network 面板,可以观察 403 响应的特点。

客户端请求

GET /forbidden-test HTTP/1.1
Host: 服务器公网 IP 或域名
User-Agent: 浏览器类型

服务器响应

HTTP/1.1 403 Forbidden
Server: nginx
Content-Type: text/html
Content-Length: 响应体字节数

<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>

与 404 的区别

状态码 含义 典型场景
404 Not Found 资源不存在,服务器无法找到请求的资源 访问 /not-exist.html,该文件不在服务器上
403 Forbidden 服务器拒绝访问,请求被理解但不被允许 访问被 Nginx 配置为拒绝的路径,例如 /forbidden-test

在实际安全配置中,有时服务器也会故意对敏感路径返回 404, 以避免暴露资源是否存在。本实验采用标准 403,用于明确观察“拒绝访问”的语义。

开始 403 测试 返回实验平台首页