1.5 KiB
1.5 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources |
|---|---|---|---|---|---|
| 反向代理认证 (Reverse Proxy Authentication) | 2025-04-15 | 2026-05-01 | concept |
反向代理认证 (Reverse Proxy Authentication)
在反向代理层拦截和验证请求身份的安全模式,将认证逻辑从应用层上提到网关层。
核心优势
- 关注点分离: 后端服务无需处理认证逻辑,专注业务
- 统一入口: 多个后端共享同一套认证机制
- 减少延迟: 未认证请求在网关层即被拒绝,不到达后端
- 配置集中: 认证规则在反向代理配置中统一管理
在 Caddy 中的实现
caddy-web-server 的 header 匹配器 + respond 指令构成了最简洁的反向代理认证方案:
@unauthorized {
not header X-API-Key "secret-key"
}
respond @unauthorized "Unauthorized" 401
reverse_proxy localhost:8080
核心逻辑:定义"未授权"条件 → 拦截并返回 401 → 其余请求放行到后端。
扩展模式
- 路径级控制:
route+handle对不同路径施加不同认证策略 - 多 Key 白名单: 命名匹配器组合多个允许的 Key
- 委托认证: forward-authentication 将认证决策交给外部服务
相关概念
- api-key-authentication — API Key / Token 的具体认证机制
- forward-authentication — 外部委托认证
- caddy-web-server — Caddy 实现
- caddy-reverse-proxy-auth — 完整配置指南