HOWTO · Git

Git と連携するようにプロキシを構成する

この記事では、さまざまなプロキシで動作するように Git を構成するプロセスについて説明します。

この記事では、さまざまなプロキシで動作するように Git を構成する方法について説明します。通常、企業のファイアウォールの背後で作業しているときに Git にアクセスするのは困難です。

Git がサポートするプロキシのいくつか、それらを構成する方法、および使い捨てのコマンドラインにプロキシをフィードする方法について説明します。はじめましょう。

Git でサポートされているプロキシプロトコル

Git は次のプロキシをサポートしています。

  1. HTTP
  2. HTTPS
  3. SOCKS4
  4. SOCKS5

Git コマンドで HTTP プロキシを使用する

通常、プロキシを使用するように Git 構成ファイルを編集します。ただし、Git を使用すると、プロキシを端末にフィードしてすばやく使用できます。

コマンドラインでの HTTP プロキシの例を次に示します。

$ git config --global http.proxy http://username:password@proxy_server.com:port

特定のドメインを使用するシナリオでは、次のようにコマンドを実行します。

$ git config --global http.http://specific_domain.com.proxy http://username:password@proxy_server.com:port

http.proxy の間にドメインを追加し、完全なプロキシ URL をフィードしていることに注意してください。完全な URL により、Git はプロトコルを自動的に認識して実行できます。

Git コマンドで HTTPS プロキシを使用する

ファイアウォールの背後で作業しているシナリオでは、HTTPS プロキシプロトコルのコマンドを実行する方法を次に示します。

$ git config --global http.https://specific_domain.com.proxy http://username:password@proxy_server.com:port

URL は http.proxy の間にありますが、http://specific_domain.com から https://specific_domain.com への変更に注意してください。

以下に示すように、SSL 検証を無効にして、問題を回避できます。

$ git config --global http.https://specific_domain.com.sslVerify false

Git 構成ファイルでプロキシを永続的に構成する

上記の設定を Git 構成ファイルに永続的に保存できます。 --global スイッチを使用して、すべてのユーザーと接続の構成を設定します。

--Global スイッチでグローバルプロキシを設定する

プロキシを通過するためにすべての Git アクションが必要な場合は、次を実行します。

$ git config --global http.proxy http://username:password@proxy_server.com:port

特定のドメインのプロキシを設定する

特定のドメインをプロキシ経由で接続する場合は、以下のコマンドを実行します。

$ git config --global http.https://domain.com.proxy http://username:password@proxy_server.com:port

HTTPS 検証を無効にする

このエラーメッセージ unable to access 'https://...': Unknown SSL protocol error in connection to ...:443 が表示された場合は、以下に示すように SSL 検証をオフに切り替えることができます。

$ git -c http.sslVerify=false clone https://domain.com/example.git

または、以下に示すように、一緒に無効にすることもできます。

$ git config http.sslVerify false

Git リポジトリのプロキシ設定を削除する

以下のコマンドを使用して、リポジトリに接続されているすべてのプロキシを一覧表示します。

$ git config --get-regexp http.*

以下の構文のいずれかを使用して、プロキシを削除できます。

$ git config --unset http.proxy
$ git config --unset http.https://domain.com.proxy

また

$ git config --unset http.sslVerify
$ git config --unset http.https://domain.com.sslVerify

以下に示すように、global スイッチを追加して、すべてのリポジトリからプロキシ設定を削除できます。

$ git config --global --unset http.proxy
$ git config --global --unset http.https://domain.com.proxy

Git で SOCKS プロキシを構成する

前述のように、Git は socks5://および socks4://プロトコルをサポートしています。

以下のコマンドを実行して、SOCKS プロトコルを構成します。

$ git config --global http.proxy socks5://proxy_server.com:port

特定のドメインについて、次を実行します。

$ git config --global http.https://domain.com.proxy socks5://proxy_server.com:port