VPN、プロキシ、フィルタ
Macでプロキシ設定のせいでアプリが接続できない
プロキシ設定は、通信を別のサーバ経由で送ります。そのサーバが間違っているか使えないと、アプリは接続できなくなりますが、他のアプリは普通に動くことがあります。
症状
- Safariは使えるのに、特定のアプリやターミナルツールでタイムアウトや「proxy」エラーが出る。
- 自宅ではアプリが接続できるのに、別のネットワークでは失敗する(またはその逆)。
- コマンドラインツールが「Could not resolve proxy」や、ローカルポートへのconnection refusedで失敗する。
- VPNやプロキシのアプリを終了したあと、接続できなくなる。
考えられる原因
- 古いシステムプロキシ。システム設定で設定したプロキシは、それが必要なネットワークを離れたあとも残ります。
- PACファイルやプロキシの自動検出。MacはURLからプロキシのルールを取得します。そのURLが読み込めないと、一部のアプリは接続できません。
- プロキシの環境変数。ターミナルツールは
http_proxy、https_proxy、all_proxyを読み取ります。これらの変数はシステム設定のプロキシを変更せず、Dockから起動したアプリからは見えません。 - 停止したプロキシアプリ。一部のアプリは、127.0.0.1などのローカルポートをプロキシに設定します。アプリが停止すると、そのポートでは何も待ち受けていない状態になります。
- 独自のプロキシ設定を持つアプリ。一部のアプリは、自身の設定にプロキシの欄を持っています。この欄はシステムプロキシとは別です。
確認方法
ターミナルを開き、macOSが現在使っているプロキシ構成を表示します。
scutil --proxy出力
HTTPEnable、HTTPSEnable、ProxyAutoConfigEnable、ProxyAutoDiscoveryEnableなどのキー。値が1ならオンです。1つのネットワークサービスのHTTPとHTTPSのプロキシを表示します。必要に応じて、Wi-Fiはサービス名に置き換えてください。
networksetup -getwebproxy Wi-Fi networksetup -getsecurewebproxy Wi-FiPACファイルとプロキシの自動検出の設定を表示します。
networksetup -getautoproxyurl Wi-Fi networksetup -getproxyautodiscovery Wi-Fiシェルのプロキシ変数を表示します。
env | grep -i proxyプロキシが127.0.0.1を指している場合は、そのポートで何が待ち受けているかを調べます。7890はそのポートに置き換えてください。
lsof -nP -iTCP:7890 -sTCP:LISTEN
解決方法
アップルメニュー >「システム設定」>「ネットワーク」を選択します。ネットワークサービスをクリックし、「詳細」をクリックします。
「プロキシ」をクリックします。ネットワークに不要なプロキシの種類をすべてオフにします。
プロキシを使ってはいけないホストは、「プロキシ設定を使用しないホストとドメイン」に追加します。
「OK」をクリックして変更を保存します。
ターミナルでWebプロキシをオフにするには、networksetupを使います。macOSが管理者パスワードを求めることがあります。
networksetup -setwebproxystate Wi-Fi off networksetup -setsecurewebproxystate Wi-Fi off管理者パスワードが必要です。
~/.zshrcなど、シェルの起動ファイルから古いプロキシ変数を削除し、新しいターミナルウインドウを開きます。接続できないアプリの設定に独自のプロキシの欄がないか確認し、ネットワークに合わせます。
Kilobatを使う場合
Kilobatの接続チェックは、システムプロキシとPACファイルを報告します。直接の経路とプロキシ経由の経路もテストします。
kilobat why api.example.com--appを付けると、そのアプリの環境にあるプロキシ変数を読み取ります。パスワードは表示されません。kilobat why https://api.example.com/v1/models --app com.example.Appアプリに独自のプロキシ設定がある場合は、
--proxyでそのアドレスを指定します。kilobat why huggingface.co --proxy http://127.0.0.1:7890このチェックは無料です。アプリとMCPでの手順は、特定のサイトやAPIに接続できない理由を調べるを参照してください。
よくある質問
Safariは使えるのに、ターミナルでは失敗するのはなぜですか?
Safariはシステムプロキシを使います。ターミナルツールはシェルのプロキシ変数を使います。この2つの設定は異なることがあります。
プロキシの自動検出とは何ですか?
Macがネットワーク上でプロキシのルールを探す機能です。プロキシのないネットワークでは、オフにしてかまいません。
出典
- Appleサポート:Macでプロキシ設定を変更する
- scutil(8)、macOS 27.2に付属のmanページ
- networksetup(8)、macOS 27.2に付属のmanページ
- lsof(8)、macOS 27.2に付属のmanページ
出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。