首页/网络/协议速查/Proxy-Authorization 代理凭证
HTTP 头与缓存70 条

Proxy-Authorization 代理凭证

向代理服务器提供认证凭证;与 Authorization 的消费对象不同(这个给代理,那个给源站)。

协议速查网络更新于 2026-10-13

Proxy-Authorization 是什么

Proxy-Authorization 用来向代理服务器证明身份,作用对象是链路上的下一跳代理,而不是最终的目标站点。代理返回 407 并附上挑战信息后,客户端把凭证放进这个头发起重试。它与 Authorization 的区别正是消费对象:后者给源站看,前者给代理看,代理在转发前必须把它剥掉,不应当传递到源站。

基本信息

名称Proxy-Authorization
作用向代理层提供认证凭证
规范RFC 9110 §11.7.2
配套状态码407 与 Proxy-Authenticate
作用范围仅当前这一跳代理
转发要求代理必须剥离,不得传给源站

curl 指定代理认证

curl 指定代理认证
curl -si -x http://proxy.corp:3128 -U alice:secret https://example.com/
# 等价于给代理发送 Proxy-Authorization: Basic ...,仅发给代理
curl -si -x http://proxy.corp:3128 --proxy-header 'Proxy-Authorization: Basic dXNlcjpwYXNz' https://example.com/
# 观察 407 挑战内容
curl -si -x http://proxy.corp:3128 https://example.com/ | head -5

两个认证头对比

头字段谁校验失败状态码
Authorization目标源站401 与 WWW-Authenticate
Proxy-Authorization链路上的代理407 与 Proxy-Authenticate

典型使用场景

  • 企业出口代理:客户端出网必须先经过带认证的代理
  • 排障 407:确认凭证对应的正是当前这一级代理,而不是更前或更后的一跳
  • 多级代理链路:逐跳确认认证信息被正确消费与剥离
  • 抓包审计:确认代理没有把凭证泄露给源站
  • 自动化脚本配置:把代理凭证与业务凭证分开管理,避免混用
用明文 HTTP 访问代理时,该头里的凭证是明文传输;即使是 HTTPS 目标,通过 CONNECT 建立隧道的那一跳也通常是明文。代理凭证应与其他敏感凭据一样做最小化授权、定期更换,并避免写进共享脚本与日志。排查 407 时还要先确认请求是否真的经过代理:直连场景下出现 407,通常是客户端误把代理凭证头当普通请求头发了出去。多级链路下凭证只在当前跳生效,不会自动传给下一跳。

易错点

  • 把代理凭证与站点凭证混用同一个字段,导致 401 与 407 交替出现,排查方向混乱
  • 代理链上有两级以上时只配了其中一级的凭证,请求在另一级被拒,需要逐跳确认是谁发起的挑战
  • 把该头写进反向代理的转发白名单,凭证被原样传给上游服务并落在其日志里
  • 在共享脚本里硬编码代理凭证,凭据随代码分发扩散
  • 以为 HTTPS 就没问题了,忽略隧道建立阶段凭证仍是明文

数据来源与参考

  • RFC 9110 §11.7.2 Proxy-Authorization

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌