« 工程管理ツールはどうするか? | トップページ | Wheezyにia32-libを入れる »

2013年9月14日 (土)

リモートGitリポジトリにHTTPSでアクセスする

 俺得アプリ開発に使っているVCSを、SubversionからGitに変えてかなり経つが、今回はGitでHTTPSアクセスするときにハマった時の、自分用メモだったりする(汗)。

 今の開発環境は、以下のとおり。

  • OS : Debian GNU/Linux 7.1 amd64
  • JDK : Oracle社のJDK7u40 for Linux x64
  • VCS : git 1.7.10.4
  • IDE : Eclipse 4.3 for Java Developers Linux x64
  • ADT : 22.0.5を、Google Plugin for Eclipseとしてセットアップ

 とある事情によりプライベートリポジトリにしている開発リポジトリがあるんだけど、そいつにgit pushかけようとしたら、こんな状況に。

error: Problem with the SSL CA cert (path? access rights?) while accessing https://path/to/repo.git/info/refs
fatal: HTTP request failed

 はて?「パスかアクセス権に問題」とな? なんだろうと思っていろいろググってみた。

 よく似た事象で言えば、GitHubでのHTTPSアクセスに関する部分か。GitHub(実はこのプライベートリポジトリにはGitHubを使っていないんだけど)の公式には、「おたくんところのCAが古いんじゃない?」という解説があったんだけど、そんなこといわれてもなぁ。

 念のためSSL周りのパッケージを調べてみたけど、当然のことながら最新。

 まぁ、自分でCAたてたりApacheにSSL仕込んだりするわけではないから、巷に出回っているSSLの設定とやらでは対処できそうにない。それにしても、クライアント証明書を独自に作らなきゃいけない、ってとれるんだけど、同じリポジトリにWindowsでアクセスした時には、そんなことを強いられた記憶はない。

 じゃあどうするんだい? ってことになるんだが、GitリポジトリにHTTPSでアクセスするときの作業ログを残している方がおられた。
 この方の場合、「オレオレ証明書のGitリポジトリにアクセスする場合」として「SSL証明書の検証をバイパスする」という方法をとっていた。

 ということで、.gitconfigに

git config http.sslVerify false

を追加してみると、すんなり通った。
 git configにあえて--globalをつけていないのは、「デフォルトはSSL証明書の検証をするけど、このプロジェクトではやらない」という方針にしたほうがいいように思ったから。

 まぁ、こいつのトラブルシュートで半日費やすことになったし、根本的な解決になっていないような気もするが、問題自体は解決できたし、とりあえずよしとするか。

|

« 工程管理ツールはどうするか? | トップページ | Wheezyにia32-libを入れる »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/164672/58189484

この記事へのトラックバック一覧です: リモートGitリポジトリにHTTPSでアクセスする:

« 工程管理ツールはどうするか? | トップページ | Wheezyにia32-libを入れる »