意義
用戶端與伺服器之間的代理要求先驗證身分,才會轉送請求。
常見原因
- 企業代理需要登入
- 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 來自途中的代理。