VPN、プロキシ、フィルタ

Macでプロキシ設定のせいでアプリが接続できない

プロキシ設定は、通信を別のサーバ経由で送ります。そのサーバが間違っているか使えないと、アプリは接続できなくなりますが、他のアプリは普通に動くことがあります。

対象:システム設定のパスはmacOS 13 Ventura以降。コマンドは現行のすべてのmacOSで使えます。確認日:2026年10月29日

症状

  • Safariは使えるのに、特定のアプリやターミナルツールでタイムアウトや「proxy」エラーが出る。
  • 自宅ではアプリが接続できるのに、別のネットワークでは失敗する(またはその逆)。
  • コマンドラインツールが「Could not resolve proxy」や、ローカルポートへのconnection refusedで失敗する。
  • VPNやプロキシのアプリを終了したあと、接続できなくなる。

考えられる原因

  • 古いシステムプロキシ。システム設定で設定したプロキシは、それが必要なネットワークを離れたあとも残ります。
  • PACファイルやプロキシの自動検出。MacはURLからプロキシのルールを取得します。そのURLが読み込めないと、一部のアプリは接続できません。
  • プロキシの環境変数。ターミナルツールはhttp_proxy、https_proxy、all_proxyを読み取ります。これらの変数はシステム設定のプロキシを変更せず、Dockから起動したアプリからは見えません。
  • 停止したプロキシアプリ。一部のアプリは、127.0.0.1などのローカルポートをプロキシに設定します。アプリが停止すると、そのポートでは何も待ち受けていない状態になります。
  • 独自のプロキシ設定を持つアプリ。一部のアプリは、自身の設定にプロキシの欄を持っています。この欄はシステムプロキシとは別です。

確認方法

  1. ターミナルを開き、macOSが現在使っているプロキシ構成を表示します。

    scutil --proxy

    出力 HTTPEnable、HTTPSEnable、ProxyAutoConfigEnable、ProxyAutoDiscoveryEnableなどのキー。値が1ならオンです。

  2. 1つのネットワークサービスのHTTPとHTTPSのプロキシを表示します。必要に応じて、Wi-Fiはサービス名に置き換えてください。

    networksetup -getwebproxy Wi-Fi
    networksetup -getsecurewebproxy Wi-Fi
  3. PACファイルとプロキシの自動検出の設定を表示します。

    networksetup -getautoproxyurl Wi-Fi
    networksetup -getproxyautodiscovery Wi-Fi
  4. シェルのプロキシ変数を表示します。

    env | grep -i proxy
  5. プロキシが127.0.0.1を指している場合は、そのポートで何が待ち受けているかを調べます。7890はそのポートに置き換えてください。

    lsof -nP -iTCP:7890 -sTCP:LISTEN

解決方法

  1. アップルメニュー >「システム設定」>「ネットワーク」を選択します。ネットワークサービスをクリックし、「詳細」をクリックします。

  2. 「プロキシ」をクリックします。ネットワークに不要なプロキシの種類をすべてオフにします。

  3. プロキシを使ってはいけないホストは、「プロキシ設定を使用しないホストとドメイン」に追加します。

  4. 「OK」をクリックして変更を保存します。

  5. ターミナルでWebプロキシをオフにするには、networksetupを使います。macOSが管理者パスワードを求めることがあります。

    networksetup -setwebproxystate Wi-Fi off
    networksetup -setsecurewebproxystate Wi-Fi off

    管理者パスワードが必要です。

  6. ~/.zshrcなど、シェルの起動ファイルから古いプロキシ変数を削除し、新しいターミナルウインドウを開きます。

  7. 接続できないアプリの設定に独自のプロキシの欄がないか確認し、ネットワークに合わせます。

Kilobatを使う場合

  1. Kilobatの接続チェックは、システムプロキシとPACファイルを報告します。直接の経路とプロキシ経由の経路もテストします。

    kilobat why api.example.com
  2. --appを付けると、そのアプリの環境にあるプロキシ変数を読み取ります。パスワードは表示されません。

    kilobat why https://api.example.com/v1/models --app com.example.App
  3. アプリに独自のプロキシ設定がある場合は、--proxyでそのアドレスを指定します。

    kilobat why huggingface.co --proxy http://127.0.0.1:7890
  4. このチェックは無料です。アプリとMCPでの手順は、特定のサイトやAPIに接続できない理由を調べるを参照してください。

よくある質問

Safariは使えるのに、ターミナルでは失敗するのはなぜですか?

Safariはシステムプロキシを使います。ターミナルツールはシェルのプロキシ変数を使います。この2つの設定は異なることがあります。

プロキシの自動検出とは何ですか?

Macがネットワーク上でプロキシのルールを探す機能です。プロキシのないネットワークでは、オフにしてかまいません。

出典

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。