次の方法で共有


Visual Studio でのプロキシとファイアウォールに関する問題のトラブルシューティング

企業のプロキシまたはファイアウォールの背後で Visual Studio を使用すると、NuGet パッケージの復元、拡張機能のインストール、AI を利用した機能など、ネットワーク アクセスを必要とする機能に影響する接続の問題が発生する可能性があります。 プロキシの問題は、通常、次の 2 つのカテゴリに分類されます。

  • 構成の問題: プロキシ サーバーのセットアップ、証明書、またはネットワーク構成に関する問題。 これらの問題は、IT 管理者によって解決されます。
  • 必要な設定: Visual Studio には、ネットワーク構成に関する追加情報が必要です。 プロキシ設定は、IDE で直接構成できます。 セットアップ手順については、「 Visual Studio でプロキシ設定を構成 する」を参照してください。

    プロキシ構成エクスペリエンスは、すべての Visual Studio 2026 インストールではまだ使用できません。 インストールにこれが表示されない場合は、 Visual Studio Insider を インストールして試すことができます。 または、ガイダンスについては、 このページの Visual Studio 2022 バージョン を参照してください。

  • 必要な設定: Visual Studio には、ネットワーク構成に関する追加情報が必要です。 Visual Studio に必要な設定を提供する方法の詳細については、この記事を参照してください。
  • 製品の問題: 問題が構成の問題ではない、または指定された設定が表示されている問題に対処していないと判断した場合、これは製品の問題である可能性があります。 チケットを送信する前に、「 診断情報を収集 する」の手順に従います。

この記事は、問題がどのカテゴリに該当するかを特定し、一般的な問題の解決策を提供するのに役立ちます。

[前提条件]

プロキシの問題をトラブルシューティングする前に、次のことを確認してください。

既知の問題と解決策

次のセクションでは、プロキシ関連の一般的な問題とその解決策について説明します。

SSL 接続エラー (証明機関が信頼されていません)

現象: 内部例外System.Net.Http.HttpRequestException: The SSL connection could not be establishedIOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote hostのようなエラーが表示されます。

カテゴリ: 構成の問題

解決策: プロキシ サーバーは、インストールして信頼する必要がある証明機関 (CA) を使用します。 次の手順の両方を完了します。

  1. プロキシに関するすべての証明書 (ルートおよび中間) を Windows の 信頼されたルート証明機関 ストアにインストールします。 詳細については、「 信頼されたルート証明機関の証明書ストア」を参照してください。
  2. NODE_EXTRA_CA_CERTS環境変数を CA 証明書ファイルのパスに設定します。 この手順は、Node.js プロセスを使用する機能に必要です。

このエラーは、ファイアウォールがプロキシの問題ではなく接続をブロックしている場合にも発生する可能性があります。

透明プロキシ障害

現象: 透過的なプロキシを使用しているときに、さまざまなエラー メッセージが表示され、ネットワーク呼び出しが失敗する。

カテゴリ: 構成の問題

解決策: 透過的プロキシは、明示的な構成なしでトラフィックをインターセプトするため、広範な問題を引き起こす可能性があります。 プロキシ サーバーは、特定のプロセスとアプリケーションに対して許可リストまたはブロック リストを使用している可能性があります。 ネットワーク管理者と協力して、次の作業を行います。

  • Visual Studio プロセスがプロキシ経由で許可されていることを確認する
  • 特定のエンドポイントがブロックされているかどうかを確認する
  • SSL 検査の設定を確認する

Copilot の認証は機能しますが、Copilot Chat では機能しません

現象: GitHub にサインインでき、Copilot は認証されていることを示しますが、Copilot チャットを使用するとエラーが発生します。

カテゴリ: 構成の問題

解決策: これらの現象は、Visual Studio 独自の .NET 要求は失敗しますが、.NET Framework 要求は機能していることを意味します。 特定のエンドポイントをブロックするプロキシや、一般的な IPv6 トラフィックがブロックされるなど、多くの原因が考えられます。 IPv6 トラフィックがプロキシまたはファイアウォールによってブロックされていないことを確認します。 次のいずれかの解決策を試してください。

  • 推奨: IPv6 トラフィックを許可するようにプロキシを構成します。
  • 別の方法: 環境変数 DOTNET_SYSTEM_NET_DISABLEIPV61 に設定して、IPv4 を強制します。
  • プロセス許可リストを使用する場合: ファイアウォールまたはプロキシの許可リストに DevHub.exe を追加します。
  • 推奨: IPv6 トラフィックを許可するようにプロキシを構成します。
  • 別の方法: 環境変数 DOTNET_SYSTEM_NET_DISABLEIPV61 に設定して、IPv4 を強制します。
  • プロセス許可リストを使用する場合: ファイアウォールまたはプロキシの許可リストに ServiceHub.Host.dotnet.x64.exe を追加します。

証明書チェーンの部分的なエラー

現象: スタック トレースに The remote certificate is invalid because of errors in the certificate chain: PartialChainが表示されます。

カテゴリ: 構成の問題

解決策: 証明書チェーンに 1 つ以上の中間証明書がありません。 不足している証明書を特定し、IT 管理者と協力してインストールする手順については、「 部分的な証明書チェーンの問題を診断 する」を参照してください。

プロキシ認証が必要 (基本認証で 407 エラー)

現象: 基本認証でプロキシを使用すると、スタック トレースに (407) Proxy Authentication Required が表示されます。

カテゴリ: 必要な設定

解決策: Visual Studio では、基本認証を使用した認証プロキシの背後にある GitHub アカウントと Microsoft Entra アカウントへのサインインがサポートされていますが、Visual Studio のほとんどのバージョンでは、基本認証を使用した認証プロキシの背後にある Copilot がサポートされていません。

起動時に、資格情報をキャプチャするためのプロンプトが表示されます。 資格情報は、Windows 資格情報マネージャー の [Windows 資格情報] セクションの中で、インターネットまたはネットワークアドレスとして保存され、その後、プロキシが要求するユーザー名とパスワードとして使用されます。

起動時に、資格情報をキャプチャするためのプロンプトが表示されます。 資格情報は、Windows 資格情報マネージャー の [Windows 資格情報] セクションの中で、インターネットまたはネットワークアドレスとして保存され、その後、プロキシが要求するユーザー名とパスワードとして使用されます。

Visual Studio でプロキシ資格情報を直接構成することもできます。 Visual Studio でのプロキシ設定の構成に関するページを参照してください。

プロキシ認証が必要 (NTLM または Kerberos)

現象: NTLM または Kerberos 認証でプロキシ サーバーを使用すると、ネットワークに依存する機能が機能しません。

カテゴリ: 必要な設定

解決策: 既定のプロキシ資格情報を使用するように Visual Studio を構成します。

  1. ツール>オプション>Proxy 設定に移動します。
  2. [ ログインした Windows アカウントを使用して 現在の Windows 資格情報を使用する] を選択します。
  3. 変更を有効にするには、Visual Studio を再起動します。

詳細については、「 Visual Studio でプロキシ設定を構成する」を参照してください。

VS_USE_DEFAULTPROXY 環境変数を true に設定します。 Copilot の場合は、 COPILOT_USE_DEFAULTPROXYtrue に設定します。

この回避策を後で無効にするには、環境変数を完全に削除します。 falseに設定しても、この機能は無効になりません。

明示的なプロキシ構成が必要

現象: プロキシに認証が必要ない場合でも、ネットワークに依存する機能が機能しません。

カテゴリ: 必要な設定

解決策: プロキシ サーバー アドレスを明示的に構成します。

  1. ツール>オプション>Proxy 設定に移動します。
  2. [ カスタム プロキシ設定を使用する] を選択します。
  3. プロキシ サーバーの URL とポートを入力します。
  4. 変更を有効にするには、Visual Studio を再起動します。

詳細については、「 Visual Studio でプロキシ設定を構成する」を参照してください。

HTTPS_PROXYHTTP_PROXY環境変数をプロキシ サーバー アドレスに設定します。 Copilot には、Visual Studio 用にこれらの設定が必要です。

プロキシの構成手順の詳細については、「 Visual Studio でプロキシ設定を構成する」を参照してください。

SSL 証明書に関する問題のトラブルシューティング

通常、SSL 証明書エラーは、プロキシ サーバーが SSL 検査を実行し、必要な証明書が正しくインストールされていないか信頼されていない場合に発生します。 根本原因を診断するには、次の手順に従います。

診断に関する質問に回答する

次の質問に取り組み、問題を絞り込みます。

  1. 証明書は信頼されていますか? プロキシの CA 証明書が現在のユーザーの証明書ストアまたはローカル コンピューター ストアにインストールされているかどうかを確認します。
  2. Visual Studio は別のユーザーとして実行されていますか? Visual Studio が Windows にログインしているユーザーとは異なるユーザーとして実行されている場合、現在のユーザーのストア内の証明書にアクセスできない可能性があります。
  3. オンライン サービスに対して認証されていますか? Visual Studio で Microsoft または GitHub アカウントにサインインできるかどうかを確認します。
  4. この機能は以前に機能しましたか? 機能が動作する前に機能し、動作を停止した場合は、アップストリーム ネットワーク構成の変更が発生した可能性があります。 これは Visual Studio 製品の問題ではありません。
  5. 他のネットワーク リソースにアクセスできますか? Web を参照できるが、Visual Studio の機能が失敗する場合、問題は特に Visual Studio のネットワーク接続にあります。

症状に基づいて問題を特定する

次のパターンを使用して、特定の問題を特定します。

  • ユーザー ストアの証明書。VS は別のユーザーとして実行されています。Visual Studio で証明書にアクセスできない場合があります。 代わりに、ローカル コンピューター ストアに証明書をインストールします。
  • 一部の機能は機能しますが、他の機能は失敗します。これは通常、IPv6 の問題または .NET Framework と .NET Core ネットワークの違いを示します。 「Copilot 認証は機能しますが、Copilot Chat は機能しません」を参照してください。
  • 昨日稼働し、今日は破損しました:アップストリーム ネットワーク構成の変更が発生しました。 IT 管理者に連絡して、変更された内容を特定してください。

部分的な証明書チェーンの問題を診断する

PartialChainエラーが発生した場合は、次の手順に従って、不足している証明書を特定します。 これらの手順には、OpenSSL コマンド ライン ツールが必要です。

  1. 次のコマンドを実行して証明書チェーンを表示し、 PROXY_HOST:PORT をプロキシ アドレスに置き換え、 target.host.com を到達しようとしているエンドポイントに置き換えます。

    openssl s_client -proxy PROXY_HOST:PORT -connect target.host.com:443 -showcerts -verify 5 </dev/null
    
  2. 出力内の各証明書について、次のコマンドを実行してチェーンを確認します (各証明書を cert1.pemcert2.pem などのファイルに保存した後)。

    openssl x509 -in cert1.pem -noout -subject -issuer -ski -aki
    
  3. 証明書チェーンを確認するには、次の点をチェックしてください。

    • 証明書 N の機関キー識別子 (AKI) は、証明書 N+1 の サブジェクト キー識別子 (SKI) と一致する必要があります。
    • 証明書 N の 発行者 DN は、証明書 N+1 の サブジェクト DN と一致している必要があります。

チェーンで中断が見つかる場合は、IT 管理者に連絡して、不足している中間証明書を取得してインストールしてください。

Web ブラウザーが成功した場合でも、1 つの証明書の AKI がチェーン内の次の証明書の SKI と一致しない場合、.NET は要求を拒否します。 これは、ほとんどのブラウザーが実行するよりも厳密な検証です。

製品の問題: サポートの診断情報を収集する

Visual Studio で必要な設定を指定した後、問題が構成の問題でないと判断した場合は、フィードバック チケットを提出してください。 Visual Studio で問題を報告する方法を参照してください。 プロキシの問題に関するフィードバック チケットを提出する場合は、調査に役立つ次の情報を含めてください。 提供する詳細情報が多いほど、問題が製品のバグか構成の問題かを迅速に特定できます。

認証の状態を確認する

次の認証状態を確認します。

  1. GitHub 認証:

    • Windows>Credential Manager>Windows 資格情報を開きます。
    • git: プレフィックスを持つ資格情報を探します。
    • GitHub アカウントのメタデータの %LocalAppData%/.IdentityService/GitHubV3AccountStore.json を確認します。
  2. 機能の状態: 動作している機能と失敗している機能 (NuGet の復元、拡張機能のインストール、AI 機能など) に注意してください。

ログと構成の詳細を収集する

次の情報を収集します。

  1. Visual Studio ログ: %temp%/Vslogsの zip ファイルを作成します。

  2. ネットワーク トレース: 可能であれば、失敗した要求を示す Fiddler トレースを収集します。

  3. プロキシ構成の詳細:

    • これは明示的または透過的なプロキシですか?
    • プロキシには認証が必要ですか? その場合、どのような種類 (Basic、NTLM、Kerberos)?
    • プロキシは特定のアプリケーションをブロックまたは許可していますか?
    • 必要な証明書はインストールされ、信頼されていますか? 証明書が失効しているか、期限切れになっていますか?
    • ファイアウォールも構成されていますか?
    • SSL 検査は有効になっていますか?
    • IPv6 トラフィックはプロキシ経由でルーティングされていますか?
  4. 他のツールとの比較: Visual Studio Code または他のアプリケーションはこのプロキシを介して動作しますか?