問題の概要集中してコードを書いている最中に、それは突然起こります。複雑な関数の途中でゴーストテキストが表示されなくなり、ステータスバーを見るとGitHub Copilotのアイコンが赤くなっています。そして「GitHub Copilot could not connect to server」という通知が表示され、作業が中断されてしまいます。
このエラーはAI自体のバグではありません。ローカルマシンとGitHubのAPIを結ぶ「配管」部分のトラブルです。VPNやファイアウォール、ZscalerのようなSSLインスペクションツールを使用している企業ネットワーク内で作業している場合、接続が遮断またはブロックされている可能性が高いです。
接続状況のデバッグ方法まだ拡張機能を再インストールする必要はありません。まずは、なぜハンドシェイクに失敗しているのかを正確に把握しましょう。接続トラブルの多くは、ログに特定の痕跡を残します。
1. 出力ログを確認するCtrl+Shift+U(Macの場合はCmd+Shift+U)を押して、出力パネルを開きます。ドロップダウンメニューからGitHub Copilotを選択してください。以下の特定の診断コードを探します:
ECONNRESET: ファイアウォールやプロキシによって接続が強制終了されました。-ETIMEDOUT: リクエストがタイムアウトしました。通常、ゲートウェイがパケットを暗黙的に破棄していることを意味します。-self signed certificate in certificate chain: 会社がSSLインスペクションを使用しており、Copilotがローカル証明書を信頼していません。-407 Proxy Authentication Required: プロキシが認証(資格情報)を必要としているため、リクエストを停止しています。### 2. ネットワークの疎通確認マシンがCopilotのゲートウェイと通信できているかを確認します。ターミナルを開き、以下のコマンドを実行してください:
curl -I https://copilot-proxy.githubusercontent.com/_ping
正常な接続であれば HTTP/2 200 が返されます。もし403エラーや「Could not resolve host」というメッセージが表示される場合は、VS Code内部ではなくネットワークレベルでブロックが発生しています。
解決策### 解決策1:プロキシの手動設定VS CodeはOSからプロキシ設定を引き継ごうとしますが、Copilot拡張機能への受け渡しに失敗することがよくあります。settings.jsonで明示的にプロキシを定義することで、接続を強制できます。
{
"http.proxy": "http://username:password@proxy.yourcompany.com:8080",
"http.proxyStrictSSL": true,
"http.proxySupport": "on"
}
もし職場がログイン不要の透過プロキシを使用している場合は、代わりに "http.proxySupport": "fallback" を設定してみてください。
解決策2:SSL証明書エラーの修正多くの企業ネットワークでは、暗号化されたトラフィックをスキャンするために「中間者(MITM)」プロキシを使用しています。CopilotはNode.js上で動作するため、デフォルトではWindowsやmacOSのシステム証明書ストアを無視します。
手っ取り早い方法(非推奨): VS Codeの設定で "http.proxyStrictSSL": false を設定します。これにより、CopilotによるSSLチェーンの検証が無効になります。
推奨される方法: Node.jsに会社のルートCA証明書を認識させます。社内証明書を .pem ファイルとしてエクスポートし、環境変数を設定します:
# Windows (PowerShell)
$env:NODE_EXTRA_CA_CERTS="C:\Users\Admin\Certs\CompanyCA.pem"
# macOS/Linux
export NODE_EXTRA_CA_CERTS="/Users/name/certs/CompanyCA.pem"
解決策3:トークンのリフレッシュ接続自体に問題がなくても、セッションが期限切れになっている場合があります。これは数日間IDEを使用していなかった場合によく発生します。
- 左下のアカウントアイコンをクリックします。- GitHubアカウントからサインアウトします。- VS Codeを完全に再起動します。- Copilotアイコンをクリックして再度サインインします。### 解決策4:IT管理者向けのファイアウォール設定もしネットワークファイアウォールの設定権限があるか、IT部門に依頼できる場合は、以下の4つのエンドポイントがポート443で許可(ホワイトリスト登録)されていることを確認してください:
github.com-api.github.com-copilot-proxy.githubusercontent.com-origin-tracker.githubusercontent.com## 修正の確認設定変更後、以下の3つのポイントでステータスを確認します:- ステータスアイコン: Copilotアイコンが点灯(白、青、またはグレー)し、赤い「X」が表示されていないこと。- ゴーストテキスト: 新しい
.jsまたは.pyファイルを開き、// calculate days between two datesと入力します。1.5秒以内に提案が表示されることを確認します。- Pingチェック: 出力ログに[fetcher] Successfully reached https://copilot-proxy.githubusercontent.com/_pingと表示されていること。## まとめ接続エラーがAIのコード自体に起因することは稀です。ほとんどの場合、ローカルのNode.js環境がネットワークセキュリティをどのように処理しているかが原因です。NODE_EXTRA_CA_CERTSを適切に設定するか、http.proxyを明示的に定義することで、接続問題の約95%を解決できます。GitHubはプロキシ処理の改善のために頻繁にパッチを公開しているため、拡張機能は常に最新バージョンにアップデートしておきましょう。

