gitサーバとHTTPSで通信したいがサーバのSSL証明書の検証に失敗するとき。

自分の場合でいうと、プライベートなGogsのリポジトリとHTTPSで通信したいが、サーバ証明書の期限が切れているとき。

ちなみにGogsてのはgithubみたいなOSS。

すなわちこのページにメモしてあるのは、gitコマンドでHTTPSでリモートリポジトリと通信する際にサーバのSSL証明書を無視する方法。

SSL証明書の検証をオフにすればよい。

$ git -c http.sslVerify=false push origin master

毎回このオプションをつけるのも面倒なので、gitの設定ファイルに書き込んで、常に証明書の検証を無効化してもよい。

特定のローカルリポジトリにだけ設定するならこう。

$ git config --worktree http.https://gogs.shinichiro.page.sslVerify false

設定を確認するならこう。

$ git config --list --worktree

設定ファイルを直接変更、参照することもできる。 .git/config

[http "https://gogs.shinichiro.page"]
        sslVerify = false

みたいな感じの設定を書き込めばよい。

このGitサーバはちょくちょく証明書の期限が切れるので、他のリポジトリでも同様の問題が発生する。 その他にも例えば自己署名証明書を使ってる場合は常に証明書の検証に失敗する。

cloneしてきたリポジトリひとつひとつにこの設定を入れるのもの面倒なので、グローバルの設定ファイルに書き込んでも良い。

$ git config --global http.https://gogs.shinichiro.page.sslVerify false

この場合、上と同じ設定が ~/.gitconfig に書き込まれ、自分のローカルリポジトリ全てにこの設定が反映される。

参考: Git - git-config Documentation

以上、風俗レポとか上げてるんだけど、Google Search Consoleでインデックスに登録してもらえないことが多くて、試しに健全なメモを上げてみるテスト。

追記

このページはUPした翌日にはインデックスに登録されていた。やっぱコンテンツの内容によるのかな。