GitHub Enterprise Server:つながらなかった理由
GitHub Enterprise Server では、REST の API は http(s)://HOSTNAME/api/v3、GraphQL の API は http(s)://HOSTNAME/api/graphql にあります(HOSTNAME はサーバーの名前)。GitHub.com では api.github.com です。サーバーにつながらない原因の多くは、住所・証明書・間のネットワークです(2026年10月25日に確認)。
PKIX path building failed: … unable to find valid certification path to requested target
何が起きているか、その理由
- 違う住所は 404:REST の道は
/api/v3の後ろに続き、GraphQL は/api/graphqlの1つの住所です。2026年の公開の報告は、ある道具が GraphQL をHOST/api/graphql/graphqlに送り、すべての呼び出しが 404 になったのを見ています。その道具のライブラリは、/api/v3で終わる住所だけを/api/graphqlに直し、それ以外には/graphqlを足していました。 - データの代わりに Web ページ:API でない住所(たとえば
/api/v3を付けずに、サーバーの Web の住所に API の道を続けたもの)は、JSON ではなく HTML のページで答えます。 - 証明書:GitHub の文書は、サーバーを初めて起動したとき TLS は自己署名の証明書で設定され、Web ブラウザーと Git のクライアントはそれを信頼せず、TLS を切るか信頼できる認証局(Let's Encrypt など)の証明書を上げるまで警告すると書いています。社内の認証局が署名した証明書には、そのルートと中間の証明書を入れる必要があります。証明書を信頼しない Java のプログラムは
javax.net.ssl.SSLHandshakeExceptionと「PKIX path building failed … unable to find valid certification path to requested target」で止まります。2023年の公開の報告は、Java で動く IDE から GitHub Enterprise Server につなぐときにこれに当たっています。
直し方
- 住所を確かめる:道具が自分で
/api/v3を足すならサーバーの Web の住所(https://HOSTNAME)を、API の根元を求められたときだけhttps://HOSTNAME/api/v3を渡します。curl -i https://HOSTNAME/api/v3/metaが Web ページでなく JSON で答えれば、住所は合っています。 - 証明書:サーバーの管理者に信頼できる認証局の証明書を頼むか、署名した社内の認証局を自分のコンピューターに信頼させます。
- 社内のネットワークの中なら:先にそこへつなぐ(VPN など)か、いる場所から API に届くかを管理者に聞きます。
- つながったが断られた:401「Bad credentials」か「Resource not accessible by personal access token」へ。
IntelliJ IDEA の「Server is unreachable」と「Invalid authentication data.」
IntelliJ IDEA に入っている GitHub の機能のソース(2026年10月30日に確認・IntelliJ IDEA:GithubServerPath.java・GHTokenCredentialsUi.kt・GithubApiRequestExecutor.kt・GHEServerVersionChecker.kt・GHAPIExceptionUtil.kt)では:
- 住所:トークンでのログインの Server の欄はサーバーの Web の住所を取り、スキームを書かなければ https になります。IntelliJ IDEA は入れた住所の後ろに、パスも含めてそのまま、REST なら
/api/v3、GraphQL なら/api/graphqlを足します。そのため欄にhttps://HOSTNAME/api/v3と入れるとhttps://HOSTNAME/api/v3/api/v3になり、上の「違う住所」になります。https://HOSTNAMEと入れます。github.com と.ghe.comで終わる住所では、代わりにホストの前にapi.を付けます。 - ログインのとき:知らないホスト名なら「Server is unreachable」(サーバーに届かない)。それ以外の失敗は、違う住所からの 404 も含めて、「Invalid authentication data.」(認証のデータが正しくない)とその失敗自身の文になります。トークンが原因でなくてもそう出ます。
- 版:答えの
x-github-enterprise-versionが 3.2 より古いと、「Unsupported GitHub Enterprise server version X.Y. Earliest supported version is 3.2」(対応していない版。対応は 3.2 から)で止まります(ログインのときは「Invalid authentication data.」の後に出ます)。 - Pull Requests のツールウィンドウでは、知らないホストは「Unknown host: HOSTNAME」と出ます。
IntelliJ IDEA で GitHub のプルリクを見るなら
Lesstep の Pull Request Inbox for GitHub は、JetBrains IDE(2024.1 以降)のプラグインです。設定の GitHub Enterprise の住所はサーバーの Web の住所として受け取り、貼られた /api/v3 や /api/graphql は自分で外します。REST は /api/v3、GraphQL は /api/graphql に送り(GHE.com の住所なら前に api. を付けます)、トークンはその住所にだけ送ります。通信は IDE のプロキシと証明書の設定(OS の証明書ストア・Server Certificates(IDE 2025.2 からは Settings | Appearance & Behavior | System Settings、それより前は Settings | Tools・JetBrains の説明「Server Certificates」)で受け入れた証明書・信頼できない証明書のときの IDE の確認)を通ります。サーバーが Web ページで答えたらそう言って設定の住所を指し、別のホストへの転送はたどらずに行き先を出し、サーバーの証明書を IDE が信用していないとき(「PKIX path building failed」・名前が合わないなど)はそう言って、受け入れる・IDE の設定の Server Certificates に加える・会社のルート証明書を OS に信頼させる、を案内します。ほかの理由でつながらないときは Java の理由を添えてそう言います。受信箱・差分・会話は無料、承認・コメント・マージは Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
GitHub は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:GitHub のマージの断り(405・409) · GitHub のレビューの断り(422) · GitHub の検索の 422「Validation Failed」 · 「Resource not accessible by personal access token」 · 401「Bad credentials」 · 「Resource protected by organization SAML enforcement」 · 「API rate limit exceeded」 · GitHub の差分の 406「too_large」・3,000件 · GitHub の行のコメントの 422「must be part of the diff」 · GitHub のブランチの更新の断り(422) · GitHub のプルリクが作れない(422・403) · GitHub の自動マージの断り · GitHub の下書き・レビュー準備完了・閉じるの断り · GitHub の会話の解決の断り · GitHub のチェックが出ない(check runs の 403) · GitHub のファイルの中身が読めない · GitHub の比較の断り(404・422) · GitHub のコメント・返信の断り(ロック・アーカイブの 403) · GitHub のマージの方法の断り(405) · GitHub のブランチが見つからない(404・301) · GitHub のレビューの依頼が出ない · GitHub のプルリクの一覧が足りない · GitHub の 404・名前を変えたリポジトリ(301・307) · GitHub の行のコメントが outdated・差分に無い · GitHub のプルリクの更新・通知が遅い · GitHub の変更の提案が適用できない · GitHub の必須チェックが Expected のまま · GitHub でコードオーナーのレビューが要る · GitHub で未解決の会話がマージを止める · GitHub で署名の無いコミットがマージを止める · GitHub のマージキューでマージするブランチ · GitHub でマージが最後の push の承認を待っている · GitHub でマージがコードスキャンの結果を待っている · GitHub でマージがコード品質の結果を待っている · GitHub でコードのカバレッジの水準がマージを止める · GitHub でライセンスの適合の結果がマージを止める · GitHub でブランチのロックや更新の制限がマージを止める · GitHub でマージの後にブランチが消えない · GitHub でチームの承認(Required reviewers)がマージを止める · GitHub でシークレットスキャンのアラートがマージを止める · GitHub でスタックしたプルリクがマージできない · GitHub で push の規則が push を止める · GitHub でコミットのメタデータの規則がマージを止める · GitHub で強制 push が止められる · GitHub でプルリクをマージしても issue が閉じない · GitHub のプルリクを手元にチェックアウトできない · GitHub のプルリクがマージ先と衝突している · GitHub で変更を依頼された・レビューを取り消す · GitHub で共同作者がコミットに数えられない · GitHub で依存関係のレビューのチェックが失敗する · GitHub で Dependabot がプルリクをリベースしない · GitHub でフォークが同期できない · GitHub でプルリクのベースのブランチを変えられない · GitHub でプルリクを取り消せない · GitHub でプルリクのテンプレートが出ない · GitHub でプルリクにラベルや担当者が付かない · GitHub でプルリクを閉じられない・開き直せない · GitHub でプッシュ保護にプッシュを止められた · GitHub でプルリクのコメントが隠された · GitHub でデプロイが成功するまでプルリクをマージできない · GitHub でチームに頼んだレビューがメンバーに置き換わった · GitHub でプルリクのファイルの Viewed が外れた · GitHub でマージしていないプルリクがマージ済みになった · GitHub で Copilot のレビューが承認に数えられない · GitHub でワークフローが作ったプルリクのチェックが動かない · GitHub でプルリクに Update branch のボタンが出ない · GitHub で Dependabot のプルリクのチェックが失敗する · GitHub でフォークからのプルリクのチェックが失敗する · GitHub でコミットメッセージの [skip ci] でチェックが動かない · GitHub で保存期間を過ぎてチェックが消えた · GitHub の公開リポジトリのコードレビューの制限 · GitHub でリポジトリのプルリクがオフ・制限されている · GitHub でスタックのプルリクごとにチェックが走る · GitHub でスカッシュでマージ済みのコミットが次のプルリクに出る · GitHub のプルリクでファイルの差分が出ない · GitHub でフォークのプルリクのブランチに push できない · GitHub のプルリクのチェックが取り消された · GitHub で Rebase and merge が使えない · GitHub のマージのコミットメッセージが思った形にならない · GitHub のプルリクでファイルの全行が変わったと出る · GitHub の API がタイムアウトした · GitHub のプルリクで画像や文書の差分が見た目で出ない · GitHub のレビューの依頼が断られる(422) · GitHub で Copilot が作ったプルリクのチェックが動かない・承認が数えられない · GitHub の push が GH006・GH013 で断られる · GitHub で承認が足りずマージできない・数に入らない承認 · JetBrains の IDE で GitHub のプルリクを扱う · English