Slate Errors

Client Error

407

Proxy Authentication Required

— プロキシ認証が必要です

まずは確認: よくある原因 TOP3

  1. 社内プロキシの認証情報が抜けている
    ブラウザや CLI ツールにプロキシ設定が反映されていない
  2. プロキシ用のユーザー/パスワードの期限切れ
    AD アカウントのパスワード変更直後によく起きる
  3. Proxy-Authorization ヘッダの設定漏れ
    HTTPS_PROXY などの環境変数や CONNECT 時のヘッダを確認

何が起きたのか?

407 は「目的の教室に入るためには、まずその前に立っている先生に身分証を見せてください」というサインです。 教室で言えば、生徒が職員室に向かう途中、廊下で別の先生に「ちょっと待って、誰のクラス?」と止められる——そんな場面に近いです。

401 がサーバー本体への認証要求なのに対して、407 は「中継役(プロキシ)」が独自に求める認証です。会社や学校のネットワークでは、外への通信がプロキシ経由になっていることが多く、その入口で身分確認をされます。レスポンスには Proxy-Authenticate ヘッダが付き、どんな方式の認証が必要かが書かれています。

黒板からのひとこと

学校では、教室と職員室の間に「来訪者受付」のような窓口があることがあります。先生に会う前に、まずそこで名簿に名前を書く。誰のところに行くのか、どこから来たのかを確認してから通してもらえる仕組みです。

407 もそれと同じで、ネットワークの境界に立っているプロキシが「私たちの組織の人ですか?」と確認しています。サーバーが拒んでいるわけではなく、入口の手前で止まっているだけです。

解決への歩み

大丈夫、次はこうしてみよう:

  1. プロキシの認証情報を確認:社内ヘルプデスクや IT 担当に最新の設定を確認
  2. 環境変数や CLI 設定を見直すHTTPS_PROXY=http://user:pass@proxy:8080 のような形式
  3. Proxy-Authenticate ヘッダを読む:Basic、NTLM、Negotiate など方式に応じた対応を
  4. プロキシのログを確認(管理者向け):認証失敗の理由、対象 URL、利用者名から原因を切り分ける

実際にはこう見える

$ リクエスト

curl -i https://example.com/some/path

↓ レスポンス

HTTP/1.1 407 Proxy Authentication Required
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<html><body><h1>407 Proxy Authentication Required</h1></body></html>

似ているケース

もっと知りたい