# Chromeで特定のサイトだけにプロキシを使う方法 | ProxyJam

Chromeのプロキシ設定は、すべてのサイトに共通の一つだけです。特定のサイトだけにプロキシを使うには、システム、起動時のフラグ、または拡張機能を通じてPACスクリプトを渡します。

- Canonical: https://proxyjam.com/ja/blog/chrome-proxy-for-specific-sites/
- Updated: 2026-10-08
- Language: ja

デスクトップ版のChromeには、特定のサイトにだけプロキシを適用する設定がありません。Chromeはすべての閲覧に一つのプロキシ構成を使い、それをオペレーティングシステム、起動フラグ、管理者のポリシー、または拡張機能から取得します。一部のサイトだけをプロキシ経由にするには、ChromeにPACスクリプトが必要です。リクエストごとにプロキシを選ぶ短い関数で、ご自身で書くか、拡張機能がルールから作成します。


## サイトがどの経路を通ったかを確認する

1. **確認用のページを一時的にリストへ加える** スクリプトやルールがプロキシ経由にするサイトに、目的のサイトと並べてproxyjam.comを加えます。
2. **確認用のページを開く** [What Is My IP](/ja/what-is-my-ip/)は、アクセスしてきたアドレスと、そのアドレスが属するインターネット事業者とネットワーク（ASN）を表示します。どちらもプロキシのものになっているはずです。
3. **リストから外して再読み込みする** 今度はページにご自身の接続が表示されるはずです。どちらの表示も想定どおりなら、リストにあるサイトはプロキシを通り、それ以外は直接接続しています。

## 経路の指定がどこから来て、それぞれの方法が何に影響するか

|  | システムのプロキシ設定 | 別のChromeインスタンス | プロキシ拡張機能 |
|---|---|---|---|
| 影響する範囲 | システム設定を読む、コンピューター上のすべてのアプリケーション | そのインスタンスのウィンドウだけ | 拡張機能をインストールしたChromeプロファイル |
| サイトの選び方 | URLで公開したPACスクリプトで | どのウィンドウでサイトを開くかで | 拡張機能がPACスクリプトに変換するルールで |
| 設定の変更 | 公開しているスクリプトを編集する | 終了して新しいフラグで起動し直す | 拡張機能でルールを編集する |
| パスワードが必要なプロキシ | Chromeがダイアログで尋ねる | Chromeがダイアログで尋ねる | HTTPとHTTPSのプロキシなら拡張機能が応答できる |

影響範囲は、Chromeがプロキシ設定をどこから読むかについてのChromiumのドキュメントと、各フラグ自体の説明に基づきます。それ以外は、各方法の設定の仕方から導かれます。速度や信頼性の測定は行っていません。PACスクリプトが経路を決める場合、ChromeはHTTPSのアドレスをスキーム、ホスト、ポートだけにして渡します。


## 簡単な回答

### Chromeのバイパスリストでも同じことができますか？

逆の働きをします。--proxy-bypass-listフラグはプロキシを通らないホストを指定するもので、--proxy-serverと組み合わせたときにしか効きません。そのため、リストにないものはすべてプロキシを通ります。短いリストのサイトだけをプロキシ経由にして、それ以外を直接接続にするには、PACスクリプトを使ってください。

### シークレットウィンドウでも同じプロキシが使われますか？

はい、デフォルトでは使われます。ChromeのプロキシAPIのドキュメントによれば、シークレットウィンドウは通常のウィンドウの設定を引き継ぎ、拡張機能は必要に応じてシークレット用に別の値を設定できます。

### Chromeが、拡張機能のプロキシ設定を使っていると表示するのはなぜですか？

拡張機能がプロキシを設定しているからです。Chromeは、システムの設定の代わりに、拡張機能または管理者のポリシーがこの設定を決めることを認めています。制御を戻すには、拡張機能を無効にするか、Direct（直接接続）に切り替えてください。

### どのルールにも当てはまらないサイトはどうなりますか？

スクリプトが最後に返すものが使われます。例のスクリプトではそれがDIRECTなので、当てはまらないサイトはプロキシなしで接続します。ProxyJam Connectorではこれをフォールバックと呼び、お客様が別のものを選ぶまでDirect（直接接続）に設定しています。


## 出典

- [Chromium: proxy support notes (proxy.md)](https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md)、Chromeがプロキシ設定をどこから読むか、そしてChrome 52以降PACスクリプトはパスやクエリのないHTTPSアドレスを受け取ること
- [Chromium: settings strings](https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/app/settings_strings.grdp)、「Open your computer's proxy settings」（コンピューターのプロキシ設定を開く）の項目と、それがコンピューター全体に適用される設定を開くという説明
- [Chromium: network settings](https://www.chromium.org/developers/design-documents/network-settings/)、`--proxy-server`、`--proxy-bypass-list`、`--proxy-pac-url`の各フラグ
- [Chromium: user data directory](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/user_data_dir.md)、`--user-data-dir`フラグと、実行中の二つのインスタンスは一つのディレクトリを共有できないこと
- [Chrome for Developers: chrome.proxy API](https://developer.chrome.com/docs/extensions/reference/api/proxy)、拡張機能が設定できるプロキシのモードと、シークレットウィンドウが通常の設定を引き継ぐこと
- [Chrome for Developers: chrome.types API](https://developer.chrome.com/docs/extensions/reference/api/types)、設定を保存できるスコープ（シークレット専用のものを含む）
- [MDN: Proxy Auto-Configuration (PAC) file](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file)、FindProxyForURL関数、その戻り値とdnsDomainIs
- [Microsoft Support: Use a proxy server in Windows](https://support.microsoft.com/en-us/windows/experience/connectivity-networking/use-a-proxy-server-in-windows)、Windowsにプロキシのセットアップスクリプトを指定する方法
- [RFC 5737: IPv4 Address Blocks Reserved for Documentation](https://www.rfc-editor.org/rfc/rfc5737.html)、例のプロキシアドレスに使った203.0.113.0/24の範囲




Chromeで特定のサイトだけにプロキシを使うには、サイトを指定したPACスクリプトをブラウザに渡します。Chromeはリクエストのたびにそれを参照します。スクリプトの渡し方は三つあります。オペレーティングシステム、別に起動したChrome、または拡張機能です。

## Chromeにはサイトごとのプロキシ設定がありますか？

ありません。Chromeの設定ページにあるプロキシの項目は一つだけで、「Open your computer's proxy settings」（コンピューターのプロキシ設定を開く）というラベルが付いています。Chromiumはこの設定を、コンピューター全体に適用されるものと説明しています（[Chromiumの設定文字列](https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/app/settings_strings.grdp)）。

[Chromiumのプロキシに関するメモ](https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md)は、Chromeがプロキシ構成を取得できる場所として四つを挙げています。管理者のポリシー、コマンドラインフラグ、拡張機能、オペレーティングシステムです。どれが有効になっていても、ブラウザが読み込むすべてのものに一つの構成が適用され、サイトごとの判断はその構成の中にPACスクリプトとして置かれます。

## PACスクリプトは何をするのですか？

PAC（プロキシ自動設定）スクリプトは、`FindProxyForURL`という名前のJavaScript関数です。[MDNのPACリファレンス](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file)が説明しているとおり、Chromeはリクエストごとにアドレスとホスト名を渡してこの関数を呼び出し、返された文字列を使います。プロキシなしなら`DIRECT`、プロキシサーバーを使うなら`PROXY host:port`です。

次のスクリプトは、一つのドメインとそのサブドメインをプロキシ経由にし、それ以外はすべて直接接続にします。プロキシのアドレスはドキュメント用に予約された範囲のもの（[RFC 5737](https://www.rfc-editor.org/rfc/rfc5737.html)）なので、ご自身のアドレスに置き換えてください。

```javascript
function FindProxyForURL(url, host) {
  if (host === "example.com" || dnsDomainIs(host, ".example.com")) {
    return "PROXY 203.0.113.10:8080";
  }
  return "DIRECT";
}
```

プロキシ経由にしたいサイトごとに条件を一つ加えます。最後の`return`が、リストにないすべてのサイトの扱いを決めます。

## ChromeにPACスクリプトを渡す方法は？

三つあります。システムのプロキシ設定、別に起動したChrome、そして拡張機能です。違いは、コンピューターのどこまでに影響するかと、変更がどう反映されるかです。

### システムのプロキシ設定で

Windowsでは、[Microsoftのガイド](https://support.microsoft.com/en-us/windows/experience/connectivity-networking/use-a-proxy-server-in-windows)にあるとおり、プロキシ設定に「setup script」（セットアップスクリプト）の項目があり、スクリプトのアドレスを指定できます。Chromeはシステムの設定に従います。スクリプトはURLでアクセスできる必要があります。システムのプロキシ設定を読むすべてのアプリケーションもそれを使うので、マシン全体に向けたスクリプトに適した方法です。

### 別のChromeインスタンスで

Chromeは起動時にプロキシのフラグを受け付けます。フラグは[Chromiumのネットワーク設定のページ](https://www.chromium.org/developers/design-documents/network-settings/)に載っています。`--proxy-server`は一つのプロキシを指定し、`--proxy-bypass-list`はそれを通らないホストを指定し、`--proxy-pac-url`はスクリプトを指します。独自の`--user-data-dir`を付けて起動すると、二つめのChromeはいつものChromeと並んで動きます。実行中の二つのインスタンスはデータディレクトリを共有できないからです（[ユーザーデータディレクトリに関するChromiumのメモ](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/user_data_dir.md)）。

```sh
google-chrome --user-data-dir="$HOME/chrome-proxied" --proxy-server="http://203.0.113.10:8080"
```

このインスタンスはすべてのトラフィックをプロキシ経由で送るので、サイトの経路は、どのウィンドウでそのサイトを開くかで決まります。プロキシを変えるには、インスタンスを終了して新しいフラグで起動し直す必要があります。

### プロキシ拡張機能で

拡張機能は、[chrome.proxy API](https://developer.chrome.com/docs/extensions/reference/api/proxy)を通じて、インストールされたプロファイルのChromeのプロキシを設定します。ルールを持つ切り替えツールは、それをPACスクリプトにまとめます。当社の無料の[ProxyJam Connector](/ja/browser-extension/)はこの方式で動き、ChromeとMicrosoft Edgeで使えます。

1. プロキシのホスト、ポート、プロトコルでプロファイルを追加します。
2. ルールを追加します。たとえば`example.com`に「Domain + subdomains」（ドメインとサブドメイン）を指定して、適用先にそのプロファイルを選びます。サイトに最初に当てはまったルールが適用されます。
3. フォールバックはDirect（直接接続）のままにしておき、どのルールにも当てはまらないサイトはプロキシなしで接続するようにします。
4. ツールバーのポップアップでAuto（自動）を選びます。

当てはまったサイトについて、Connectorのスクリプトはその一つのプロキシだけを指定し、後ろに直接接続の選択肢を付けません。プロキシが停止していればサイトは読み込みに失敗し、そのサイトにご自身のアドレスが使われることはありません。

## タブごとに別のプロキシを使えますか？

Chromeではできません。[chrome.proxy API](https://developer.chrome.com/docs/extensions/reference/api/proxy)はプロファイルに一つの値を保存し、タブをパラメーターとして受け取らないので、タブには独自に設定できるものがありません。

実際に使える単位は、プロファイルかインスタンスです。プロキシを使う作業のために二つめのChromeプロファイルを作ってそこに拡張機能をインストールするか、独自のフラグで二つめのインスタンスを起動し、二つのウィンドウを並べて使ってください。そうすれば、ウィンドウごとに別のプロキシになります。

## パスを含むルールがHTTPSのサイトで失敗するのはなぜですか？

Chromeは`https://`のアドレスについて、PACスクリプトにスキーム、ホスト、ポートだけを渡します。パス、クエリ、フラグメントはChrome 52以降取り除かれており、これを無効にするオプションはChrome 75で削除されました（[Chromiumのプロキシに関するメモ](https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md)）。

そのため、`example.com/shop/*`のようなルールはどのHTTPSページにも当てはまりません。ルールはホスト名で書き、サイトの一部に独自の経路が必要なら、その部分に独自のサブドメインを与えてください。通常の`http://`のアドレスは今でもパス付きでスクリプトに届きますが、Chromiumはそれに頼らないよう勧めています。Connectorは、パスに依存するルールの横に警告を表示します。

## どの方法を選べばよいですか？

少数のサイトと一つのプロキシなら、拡張機能がいちばん手間がかかりません。ConnectorがChromeでできることとできないことは[拡張機能のページ](/ja/browser-extension/)にまとめています。パスワードを求めるプロキシについては[Chromeがプロキシのユーザー名とパスワードを何度も尋ねる理由](/ja/blog/chrome-proxy-password-prompt/)で、古い切り替えツールからのルールの移行については[Manifest V3で何が変わったか](/ja/blog/switchyomega-manifest-v3/)で扱っています。国ごとに一つのプロファイルとプロキシを用意して、ご自身のサイトが各市場でどう見えるかを確認する方法は、[別の国からウェブサイトを見る方法](/ja/blog/view-website-from-another-country/)で説明しています。

それらのサイトを経由させるプロキシに、インターネット事業者のネットワーク上の一つのアドレスを保ってほしいなら、それが[ISPプロキシとは何か](/ja/blog/what-are-isp-proxies/)で説明しているものです。ProxyJamは静的レジデンシャル（ISP）プロキシを[ISPプロキシのページ](/ja/isp-proxies/)で販売しており、価格は[料金ページ](/ja/pricing/)にあります。

