会社支給のデバイスを使用して会社のネットワークに接続している場合、VPN または HTTP プロキシ サーバーを介してインターネットに接続している可能性があります。 このような種類のネットワーク設定では、GitHub Copilot が GitHub のサーバーに接続できない場合があります。 GitHub Copilot を使用してプロキシを設定するためのオプションの詳細については、「GitHub Copilot のネットワーク設定の構成を参照してください。
この記事では、HTTP プロキシとカスタム認証に関連するよくある問題に対処するためのガイダンスを提供しています。 ファイアウォールを使用する場合、これは GitHub Copilot の接続にも干渉する可能性があります。 詳細については、「GitHub Copilot のファイアウォール設定のトラブルシューティング」を参照してください。
ネットワークの問題を診断する
ネットワークに関する問題のトラブルシューティングを行っている場合は、接続をテストするために curl 要求を実行することが役立つ場合があります。
--verbose フラグを追加すると、これらの要求で、問題点を診断したり、会社の IT 部署や GitHub のサポート と共有したりするための詳細情報が示されます。 GitHub のサポートへの問い合わせは、GitHub Support ポータルから行うことができます。
環境からGitHub のエンドポイントの少なくとも一部にアクセスできるかどうかを確認するには、コマンドラインから次のコマンドを実行します。
curl --verbose https://copilot-proxy.githubusercontent.com/_ping
curl --verbose https://copilot-proxy.githubusercontent.com/_ping
接続できる場合は、HTTP 200 応答を受け取ります。
HTTP プロキシ経由で接続していることがわかっている場合は、プロキシ経由で要求が成功したかどうかを確認できます。 次の例を使用する場合は、YOUR-PROXY-URL:PORT をプロシキの詳細に置き換えてください。
curl --verbose -x http://YOUR-PROXY-URL:PORT -i -L https://copilot-proxy.githubusercontent.com/_ping
curl --verbose -x http://YOUR-PROXY-URL:PORT -i -L https://copilot-proxy.githubusercontent.com/_ping
「認証の失効」に関連するエラーを受け取った場合は、--insecure フラグを指定して要求を再試行できます。
--insecure フラグが追加されたときにのみ要求が成功する場合は、認証エラーを無視した場合にのみ GitHub Copilot が正常に接続することを示している可能性があります。 詳細については、「証明書に関連するエラーのトラブルシューティング」を参照してください。
エディターの Copilot チャットで特に問題がある場合は、上記の curl コマンドを実行しますが、https://api.githubcopilot.com/_ping の代わりに https://copilot-proxy.githubusercontent.com/_ping を使用します。
接続できず、curl 要求でエラーを特定することができない場合は、エディターで詳細な診断ログを収集することが有効な場合があります。 ご自身の会社の IT 部署や GitHub のサポートと問題解決に取り組んでいる場合は、これらの診断情報を共有することでエラー解決につながる可能性があります。 エディターでデバッグ ログを有効にすると、より具体的な情報を共有することができます。 詳細については、「環境内の GitHub Copilot のログの表示」を参照してください。
プロキシ エラーのトラブルシューティング
プロキシのセットアップに問題がある場合は、エラー GitHub Copilot could not connect to server. Extension activation failed: "read ETIMEDOUT" or "read ECONNRESET" が表示されることがあります。 このエラーは、さまざまなネットワークの問題点によって発生する可能性があります。
プロキシ経由で接続していることがわかっている場合は、環境内でプロキシが正しく構成されていることを確認してください。 詳細については、「GitHub Copilot のネットワーク設定の構成」を参照してください。
メモ
プロキシ サーバーを持つ会社の従業員である場合は、会社レベルで Copilot のプロキシ設定も構成する必要があります。 「Copilot 許可リスト 参照 を参照してください。
GitHub Copilot は、カスタム コードを使用してプロキシに接続します。 つまり、お使いのエディターでサポートされているプロキシセットアップが、必ずしも GitHub Copilot でサポートされているとは限りません。 プロキシに関連するエラーのよくある原因を、以下にいくつか挙げています。
- プロキシの URL が、
https://で始まる場合、現時点では GitHub Copilot ではサポートされていません。 - プロキシに対する認証が必要な場合があります。 GitHub Copilot では、基本認証または Kerberos 認証がサポートされています。 Kerberos を使用している場合は、プロキシ サービスの有効なチケットがあり、サービスに正しいサービス プリンシパル名を使用していることを確認してください。 詳細については、「GitHub Copilot のネットワーク設定の構成」を参照してください。
- GitHub Copilot は、カスタム証明書を拒否する場合があります。 詳細については、「証明書に関連するエラーのトラブルシューティング」を参照してください。
証明書に関連するエラーのトラブルシューティング
プロキシのセットアップによっては、"証明書署名エラー"、"カスタム証明書"、"最初の証明書を確認できない" などのエラーが発生する場合があります。 これらのエラーは通常、カスタム証明書を使用してセキュリティ保護接続をインターセプトし検査する企業向けプロキシの設定が原因で発生します。
証明書に関連するエラーを解決する可能性のある方法を、以下にいくつか示しています。
-
セキュリティで保護された接続をインターセプトしない別のプロキシを構成します。
-
企業プロキシを使っている場合は、IT 部署に連絡し、セキュリティで保護された接続をインターセプトしないようにプロキシを構成できるかどうかを確認してください。
-
カスタム証明書がオペレーティング システムの信頼ストアに正しくインストールされていることを確認してください。 詳細については、「GitHub Copilot のネットワーク設定の構成」を参照してください。 証明書がコンピューターにインストールされているにもかかわらず、GitHub Copilot で検出されない場合は、GitHub Copilot が証明書を見つけるために使用する仕組みを理解することが、役立つ場合があります。
- Windows では、Copilot は win-ca パッケージを使用します。
- macOS では、Copilot は mac-ca パッケージを使用します。
- Linux では、Copilot は標準の OpenSSL ファイル
/etc/ssl/certs/ca-certificates.crtと/etc/ssl/certs/ca-bundle.crtを確認します。
-
証明書エラーを無視するように GitHub Copilot を構成します。 プロキシ設定で、Visual Studio Code の [プロキシの厳密な SSL] をオフにするか、JetBrains IDE で [信頼されていない証明書を自動的に受け入れる] を選択できます。 詳細については、「GitHub Copilot のネットワーク設定の構成」を参照してください。
警告
セキュリティの問題が発生する可能性があるため、認証エラーを無視することはお勧めしません。
セキュリティ ソフトウェア関連の証明書エラーのトラブルシューティング
セキュリティで保護された Web トラフィックを監視するセキュリティ ソフトウェアを使用していて、「最初の証明書を確認できません」というエラーが表示される場合は、IDE と Copilot のどちらか、または両方の拡張機能に対する例外の構成を行う必要がある可能性があります。
例外を構成する方法の詳細については、セキュリティ ソフトウェア ベンダーにお問い合わせください。