- 工信部备案号 滇ICP备05000110号-1
- 滇公网安备53011102001527号
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
- CN域名投诉举报处理平台:电话:010-58813000、邮箱:service@cnnic.cn
欢迎来到蓝队云小课堂。在反向代理架构中,Apache 的 ProxyErrorOverride 指令是实现统一错误页面管理的核心工具。它允许代理层拦截后端服务器返回的错误响应,并用本地配置的自定义页面替换,从而实现错误页面的品牌统一和安全控制。
默认情况:Apache 不会干预后端返回的错误(如 404、500),用户直接看到后端应用的原始错误页面。
启用后:设置 ProxyErrorOverride On,Apache 会拦截 400-599 范围内的状态码,丢弃后端响应体,并使用本地的 ErrorDocument 配置渲染自定义页面。
关键配置要点
1. 排除错误页面请求:必须将 ProxyPass /errors/ ! 放在其他 ProxyPass 规则之前,确保错误页面请求由 Apache 本地处理,而非转发到后端。
2. 指定状态码(Apache 2.4.47+):可针对特定错误码进行覆盖,其余状态码保留后端原始响应:
ProxyErrorOverride 404 500
3. 支持 SSI 动态内容:启用后,错误页面可使用 Server Side Includes 动态显示信息,例如:
Request ID: <!--#echo var="REQUEST_ID" --> Time: <!--#echo var="DATE_LOCAL" -->
4. 兼容 AJP 协议:Apache 2.4.x 起,ProxyErrorOverride 完整支持 mod_proxy_ajp;早期版本仅支持 HTTP 代理。
5. 防止递归错误:若自定义错误页面本身触发错误(如页面不存在),需使用 REDIRECT_STATUS 环境变量检测:
ErrorDocument 404 /custom_404.html <Files "custom_404.html"> Require all granted </Files>
这样,仅当非错误状态下直接访问 /custom_404.html 时才返回 404,避免错误处理循环。
通过 ProxyErrorOverride 与 ErrorDocument 的配合,可以在反向代理环境中实现统一的错误页面品牌化、隐藏后端敏感信息,并根据业务需求灵活控制错误的透传策略。
售前咨询
售后咨询
备案咨询
二维码

TOP