HOWTO · Git
Git と連携するようにプロキシを構成する
この記事では、さまざまなプロキシで動作するように Git を構成するプロセスについて説明します。
この記事では、さまざまなプロキシで動作するように Git を構成する方法について説明します。通常、企業のファイアウォールの背後で作業しているときに Git にアクセスするのは困難です。
Git がサポートするプロキシのいくつか、それらを構成する方法、および使い捨てのコマンドラインにプロキシをフィードする方法について説明します。はじめましょう。
Git でサポートされているプロキシプロトコル
Git は次のプロキシをサポートしています。
- HTTP
- HTTPS
- SOCKS4
- 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