含义
客户端和服务器之间的代理要求先进行认证,才会转发请求。
常见原因
- 企业代理需要登录
- HTTP_PROXY 中的代理凭据缺失或错误
- npm、pip 等工具没有配置代理
解决方法
客户端或访问者
配置代理凭据,例如在 HTTPS_PROXY 中设置 http://user:pass@proxy:8080,或使用工具自身的代理设置。
网站或 API 的维护者
代理必须发送 Proxy-Authenticate 头,说明它接受的认证方案。
响应示例
HTTP/1.1
HTTP/1.1 407 Proxy Authentication Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Proxy-Authenticate: Basic realm="corp-proxy"
Content-Length: 0 规范
常见问题
› 如何在 npm 或 git 中解决 407?
设置带凭据的代理(npm config set proxy、git config http.proxy),NTLM 代理可使用本地认证助手。
› 407 和 401 的区别?
401 来自源服务器;407 来自途中的代理。