言語を変更
日本語 English Русский Deutsch Español Français Italiano Українська Tiếng Việt Türkçe Bahasa Indonesia हिन्दी 中文
メニュー
料金
プロキシ
プロキシの種類
地域から探す77の地域
ソリューション
リソース

Chromeがプロキシのユーザー名とパスワードを何度も尋ねる理由

目次
  1. プロキシのログインダイアログは何を意味しますか?
  2. Chromeがプロキシのパスワードを何度も尋ねるのはなぜですか?
  3. プロキシ設定にあるパスワードが無視されるのはなぜですか?
  4. 拡張機能はどのようにダイアログに代わって応答しますか?
  5. ChromeでパスワードのあるSOCKS5プロキシを使えますか?
  6. 次に読むもの
  7. 簡単な回答

要点: Chromeがプロキシのログインダイアログを表示するのは、プロキシがステータス407、Proxy Authentication Requiredを返したときです。Chromeはプロキシ設定や起動フラグから認証情報を取得しないので、ダイアログに入力するか、拡張機能が代わりに渡すことになります。ログインした後にダイアログが戻ってくる場合、ほとんどはプロキシが送られた内容を拒否したことを意味します。パスワードが必要なSOCKS5プロキシはChromeでは動きません。ChromeはSOCKS5の認証を実装していないからです。

Chromeがプロキシのユーザー名とパスワードを何度も尋ねるのは、Chromeがほかの方法では応答できないログインをプロキシが求めているときです。この問題の背後には四つの状況があり、そのうち三つはChromeの中で解決できます。四つめのパスワード付きSOCKS5プロキシには、プロキシ側の変更か、別のブラウザが必要です。

プロキシのログインダイアログは何を意味しますか?

プロキシが、お客様がログインするまでリクエストの転送を拒否したということです。HTTPの用語でいえば、プロキシはステータス407、Proxy Authentication Requiredを返しました。RFC 9110はこれを「このリクエストでプロキシを使うには、クライアントが自らを認証する必要がある」という意味だと説明しています。プロキシは受け付けるログイン方式を示し、ブラウザは認証情報を付けてリクエストを繰り返すことができます。

Chromeは「Sign in」(ログイン)というタイトルのダイアログで認証情報を受け取ります。Chromiumのダイアログ文字列にある英語の文言は「The proxy $1 requires a username and password.」(プロキシ$1にはユーザー名とパスワードが必要です)で、$1の部分にプロキシのアドレスが入ります。HTTPプロキシについて、ChromeはBasic、Digest、Negotiate、NTLMの各方式に対応しており、Chromiumのプロキシに関するメモに一覧があります。

Chromeがプロキシのパスワードを何度も尋ねるのはなぜですか?

最も多いのは、プロキシが認証情報を拒否して新たに407を返したため、Chromeがもう一度尋ねるケースです。パスワードの誤り、末尾に空白が付いたままコピーしたユーザー名、事業者が停止したアカウントは、ブラウザ側からはどれも同じに見えます。

パスワードがChromeの読まない場所(プロキシ設定など)にある場合や、パスワードを保存している拡張機能に応答の許可が与えられていない場合にも、ダイアログは戻ってきます。パスワード付きのSOCKS5プロキシは振る舞いが異なり、Chromeはダイアログを表示せず、接続は失敗します。「ご自身のケースを探す」の表に、四つの状況とそれぞれの対処をまとめています。

プロキシ設定にあるパスワードが無視されるのはなぜですか?

Chromeは、プロキシ設定に書き込まれた認証情報を読みません。多くのシステムでは、そこにユーザー名とパスワードを入力したり、アドレスにuser:password@host:portとして書き込んだりできますが、Chromiumのプロキシに関するメモははっきりと「Chromeはこれを実装しておらず、プロキシ設定に埋め込まれた認証情報は一切使用しない」と述べています。認証は通常のログインの流れを通り、ほとんどの人にとってその流れとはダイアログのことです。

--proxy-server起動フラグで設定したプロキシも手動設定の入力方法の一つなので、フラグに書き込んだパスワードも効果がありません。

拡張機能はどのようにダイアログに代わって応答しますか?

Chromeでは、ダイアログが表示される前に、拡張機能がプロキシのログイン要求に応答できます。webRequest APIはonAuthRequiredイベントを発生させ、要求しているのがプロキシであればそのisProxyフラグがtrueになります。webRequestAuthProvider権限を持つ拡張機能は、ユーザー名とパスワードで応答できます。

当社の無料のProxyJam Connectorはこのイベントを使います。プロキシのプロファイルごとにユーザー名とパスワードを保存しておくと、拡張機能は、ホストとポートが要求してきたプロキシと一致する保存済みのプロキシについて応答します。

  • Chromeでは、設定ページでネットワークアクセスを許可すると応答するようになります。それまでは通常どおりブラウザ自身のダイアログが表示されます。
  • 同じリクエストに対してプロキシが認証情報を2回拒否すると、Connectorは再試行をやめ、ツールバーのバッジにAUTHと表示します。
  • 応答するのはHTTPとHTTPSのプロキシです。ユーザー名とパスワードを設定したSOCKS5のプロファイルには警告が表示されます。Chromeはそれらを使えないからです。

ChromeでパスワードのあるSOCKS5プロキシを使えますか?

使えません。Chromiumのプロキシに関するメモには「ChromeではSOCKSv5の認証方式は一切サポートされていない(プロトコルにはいくつか存在するが)」とあり、SOCKS4にもありません。ChromeのSOCKS5クライアントはプロキシに認証情報の要らない方式しか提示しないので、パスワードを必須とするプロキシは接続を拒否します。拡張機能のAPIにも、拡張機能が応答できるSOCKSのログインのイベントはありません。

うまくいく方法は次のとおりです。

  1. ご自身のアドレスを事業者に登録する。 プロキシ事業者の中には、お客様が伝えたIPアドレスの一覧からの接続を、パスワードなしで受け入れられるところがあります。
  2. 事業者のHTTPエンドポイントを使う。 同じプロキシがHTTPの接続も受け付けるなら、Chromeはダイアログか拡張機能を通じてログインできます。
  3. そのプロキシにはFirefoxを使う。 Firefoxの拡張機能APIは、SOCKSプロキシにユーザー名とパスワードを渡せます(MDNのProxyInfoリファレンス)。ConnectorのFirefox版はこれを使っており、Firefox Add-onsからインストールできます。

次に読むもの

パスワードが必要な複数のプロキシを切り替えて使うなら、それぞれの認証情報を保存する拡張機能が、HTTPとHTTPSについて代わりに応答します。ConnectorがChromeで行うことは拡張機能のページにまとめています。そうしたプロキシに一部のサイトだけを通す方法は、一部のサイトだけをプロキシ経由にするを参照してください。すべての切り替えツールに関わる拡張機能の規則の変更は、Manifest V3がプロキシ拡張機能の何を変えたかにあります。

Connectorで使うプロキシを選んでいるなら、ISPプロキシとは何かをお読みください。ProxyJamは静的レジデンシャル(ISP)プロキシをISPプロキシのページで販売しており、価格は料金ページにあります。

ご自身のケースを探す

原因は、HTTPプロキシ認証の仕様、プロキシ設定に関するChromiumのドキュメント、そしてProxyJam Connectorがログインにどう応答するかから導いています。どの原因が最も多いかの調査は行っておらず、事業者独自の設定(接続を許可するアドレスの制限など)によってほかの原因が加わることもあります。
表示されること対処
プロキシが認証情報を拒否する送信するたびにダイアログが戻ってくるプロキシの運用者にユーザー名とパスワードを確認し、余分な空白が入らないように貼り付け直す
認証情報をプロキシ設定に書き込んでいるパスワードがプロキシのアドレスに入っているのにダイアログが表示されるChromeはそこにある認証情報を無視する。ダイアログでログインするか、拡張機能に応答させる
拡張機能がまだ応答できない拡張機能がパスワードを保存しているのにブラウザのダイアログが表示される拡張機能に必要なアクセスを許可する。ProxyJam Connectorでは設定ページのネットワークアクセス
パスワード付きのSOCKS5プロキシダイアログが表示されず、プロキシ経由のページが失敗するChromeはSOCKS5の認証情報を送れない。IPの許可リスト、HTTPのエンドポイント、またはFirefoxを使う

ダイアログなしでプロキシにログインできることを確認する

  1. ブラウザを再起動する

    現在のセッションのログインが再利用されないよう、Chromeのウィンドウをすべて閉じ、プロキシを設定した状態でChromeを開き直します。

  2. プロキシ経由でページを開く

    What Is My IPがダイアログなしで読み込まれ、プロキシのアドレスとネットワークが表示されるはずです。

  3. 使っているプロキシをそれぞれ試す

    認証付きのプロキシを複数使っているなら、それぞれを経由して順に確認用のページを開いてください。どれかでダイアログが出たら、そのプロファイルにはまだ有効な認証情報がありません。

簡単な回答

エラー407はどういう意味ですか?

407 Proxy Authentication Requiredは、プロキシがリクエストを転送する前にログインを求めているという意味です。RFC 9110の定義では、プロキシは受け付けるログイン方式を示す必要があり、ブラウザは認証情報を付けてリクエストを繰り返すことができます。

Chromeはプロキシのパスワードを記憶しますか?

Chromiumのソースコードは、プロキシのログイン情報をプロキシのホストとポートで分類してパスワードマネージャーに渡しています。この動作を説明したGoogleのヘルプページは見つからなかったので、頼りにする前に、Chromeを再起動してプロキシ経由でページを読み込んで確かめてください。

proxy-serverの起動フラグにパスワードを入れられますか?

いいえ。Chromiumのドキュメントによれば、Chromeは手動のプロキシ設定に書き込まれた認証情報を使いません。起動フラグはその入力方法の一つです。認証はChromeの通常のログインの流れを通り、拡張機能が応答しない限りそれはダイアログです。

SOCKS5プロキシでパスワードのダイアログが出ないのはなぜですか?

ChromeはSOCKS5やSOCKS4のプロキシに対する認証を実装していないので、お客様に尋ねるべき認証情報がありません。パスワードが必要なSOCKS5プロキシを経由する接続は、入力を求められることなく失敗します。 ブラウザ拡張機能

出典