#ブラウザのプロキシ設定とCMDのプロキシ設定、何が違う?使い分けを徹底解説
はじめに
企業ネットワークや特定の環境でインターネットに接続する際、「プロキシサーバー」の設定が必要になることがあります。しかし、ブラウザで設定するプロキシとコマンドプロンプト(CMD)で設定するプロキシは、実は別物です。
この記事では、両者の違いと正しい使い分けについて、わかりやすく解説します。
プロキシサーバーとは?
プロキシサーバーは、クライアント(あなたのPC)とインターネットの間に立つ「中継サーバー」です。
主な役割
- セキュリティ強化: 直接インターネットに接続せず、プロキシ経由でアクセス
- アクセス制御: 特定のサイトへのアクセスを制限
- ログ管理: 誰がどこにアクセスしたか記録
- キャッシュ: よくアクセスするコンテンツを保存して高速化
ブラウザのプロキシ設定(Windowsインターネットオプション)
設定場所
Windowsの場合:
- 設定 → ネットワークとインターネット → プロキシ
- または、コントロールパネル → インターネットオプション → 接続タブ → LANの設定
影響範囲
✅ 適用されるアプリケーション:
- Internet Explorer
- Microsoft Edge(一部のバージョン)
- Google Chrome(デフォルト設定)
- Outlook
- その他、Windowsのプロキシ設定を参照するアプリ
❌ 適用されないもの:
- コマンドライン(CMD、PowerShell)でのツール
- 独自のプロキシ設定を持つアプリ(Firefox、一部の開発ツール)
- Python、Node.js、Git などのCLIツール
設定内容
プロキシサーバー: proxy.company.com
ポート: 8080
例外(プロキシを使用しない): localhost;127.0.0.1;*.local
CMDのプロキシ設定(環境変数)
設定方法
コマンドプロンプトやPowerShellで、環境変数として設定します。
一時的な設定(現在のセッションのみ有効)
CMD:
set HTTP_PROXY=http://proxy.company.com:8080
set HTTPS_PROXY=http://proxy.company.com:8080
set NO_PROXY=localhost,127.0.0.1,.local
PowerShell:
$env:HTTP_PROXY="http://proxy.company.com:8080"
$env:HTTPS_PROXY="http://proxy.company.com:8080"
$env:NO_PROXY="localhost,127.0.0.1,.local"
永続的な設定(システム全体)
システム環境変数として設定:
- システムのプロパティ → 環境変数
- システム環境変数に以下を追加:
- 変数名:
HTTP_PROXY、値:http://proxy.company.com:8080 - 変数名:
HTTPS_PROXY、値:http://proxy.company.com:8080 - 変数名:
NO_PROXY、値:localhost,127.0.0.1,.local
- 変数名:
影響範囲
✅ 適用されるツール:
- curl、wget
- Python(requests、pip)
- Node.js(npm、yarn)
- Git
- Docker CLI
- その他、環境変数を参照するコマンドラインツール
❌ 適用されないもの:
- ブラウザ(Chrome、Edge など)
- GUIアプリケーション
主な違いの比較表
| 項目 | ブラウザのプロキシ設定 | CMDのプロキシ設定 |
|---|---|---|
| 設定場所 | Windowsの設定/インターネットオプション | 環境変数(HTTP_PROXY等) |
| 設定方法 | GUI(グラフィカル) | コマンドライン |
| 適用対象 | ブラウザ・一部のGUIアプリ | コマンドラインツール |
| 例 | Chrome、Edge、Outlook | pip、npm、git、curl |
| 認証方法 | ユーザー名/パスワード入力可 | URL内に埋め込む必要あり |
| 永続性 | 一度設定すれば永続的 | セッション終了で消える(システム環境変数なら永続) |
実践的な使い分け
ケース1: 企業ネットワークで作業
状況: 会社のPCで、プロキシ経由でしかインターネットに接続できない
対応:
- ブラウザのプロキシ設定: Webブラウジング用に設定
- CMDのプロキシ設定: 開発ツール(npm、pip、git)用に環境変数を設定
# 開発作業の前に毎回実行
set HTTP_PROXY=http://proxy.company.com:8080
set HTTPS_PROXY=http://proxy.company.com:8080
npm install
ケース2: 自宅とオフィスで切り替え
状況: 自宅ではプロキシ不要、オフィスではプロキシ必須
対応:
- バッチファイルを作成して簡単に切り替え
proxy_on.bat:
@echo off
set HTTP_PROXY=http://proxy.company.com:8080
set HTTPS_PROXY=http://proxy.company.com:8080
echo プロキシを有効にしました
proxy_off.bat:
@echo off
set HTTP_PROXY=
set HTTPS_PROXY=
echo プロキシを無効にしました
ケース3: 認証付きプロキシ
状況: プロキシサーバーがユーザー名とパスワードを要求
CMDでの設定:
set HTTP_PROXY=http://username:password@proxy.company.com:8080
set HTTPS_PROXY=http://username:password@proxy.company.com:8080
注意: パスワードがコマンド履歴に残るので、セキュリティに注意が必要です。
よくあるトラブルと解決方法
1. ブラウザは繋がるのに、npm/pipがエラーになる
原因: CMDのプロキシ設定がされていない
解決策:
set HTTP_PROXY=http://proxy.company.com:8080
set HTTPS_PROXY=http://proxy.company.com:8080
2. 環境変数を設定したのに効かない
原因:
- セッションごとに設定が消えている
- アプリケーションの再起動が必要
解決策:
- システム環境変数として永続的に設定
- CMDやアプリを再起動
3. プロキシ設定後、ローカルサーバーにアクセスできない
原因: localhost や 127.0.0.1 もプロキシ経由になっている
解決策:
set NO_PROXY=localhost,127.0.0.1,.local
ブラウザ設定では「例外」に以下を追加:
localhost;127.0.0.1;*.local
まとめ
覚えておくべきポイント
- ブラウザのプロキシ = GUIアプリ向け(Webブラウザ、Outlookなど)
- CMDのプロキシ = コマンドラインツール向け(npm、pip、gitなど)
- 両方設定が必要なケースが多い = 企業環境では両方を適切に設定
- 環境変数は一時的 = セッション終了で消える(永続化にはシステム環境変数を使用)
推奨設定手順
開発者の方は、以下の順序で設定することをおすすめします:
- Windowsのプロキシ設定(ブラウザ用)
- システム環境変数にHTTP_PROXY、HTTPS_PROXYを追加(永続化)
- 必要に応じてNO_PROXYで例外設定
これで、ブラウジングも開発作業もスムーズに行えます!
参考情報
- Windowsプロキシ設定: 設定 → ネットワークとインターネット → プロキシ
- 環境変数設定: システムのプロパティ → 詳細設定 → 環境変数
- 各ツールのプロキシ設定ドキュメント:

コメント