プロキシ環境下の自前GitLabにアクセスする方法
背景
Gitに関して、何度もプロキシ関連でハマってきて、何度も同じようなことをググってきたので、自分で整理します。
環境
- Linux (自分はCentOS 7を使っていますが、Ubuntuやその他ディストリビューションでも同じだと思います)
アカウントのプロキシ設定
まず、アカウントにプロキシを設定します。
プロキシの情報は、ログイン時に自動的に設定するようにすればよいので、.bash_profile
に記載しておきます。
もしなければ、作成しましょう。
touch $HOME/.bash_profile
httpとhttpsで、両方同じプロキシ and/or 認証情報でよければ、以下のように記載します。
PROXY_INFO="http://(user):(pass)@(host):(port)" export http_proxy=${PROXY_INFO} export https_proxy=${PROXY_INFO} export HTTP_PROXY=${PROXY_INFO} export HTTPS_PROXY=${PROXY_INFO} NOPROXY_INFO="localhost,(自前GitLabのホスト)" export no_proxy=${NOPROXY_INFO} export NO_PROXY=${NOPROXY_INFO}
もし、httpとhttpsで異なるプロキシ and/or 認証情報が必要であれば、それぞれ個別に記載してください。
これを反映します。
source $HOME/.bash_profile
Gitのプロキシ設定
次に、Gitにプロキシを設定しましょう。
git config --global http.proxy $http_proxy git config --global https.proxy $https_proxy git config --global http.sslVerify false git config --global http.proxyAuthMethod 'basic'
3つ目のコマンドは、オレオレ認証局のカギでもいいこととする、というものなので、セキュリティ的にはマズいです。 そこをよく理解したうえでの自己責任、ということにさせてください。
4つ目のコマンドは、プロキシサーバがサポートしている認証方式によって、basic
かどうか異なります。
プロキシによって、異なるかもしれませんし、設定が不要かもしれません。
自分の環境では、4つ目を設定していなかったら、このようなエラーが出てました。
$ git clone https://aaaaa/bbbbb/ccccc.git Cloning into 'ccccc' ... fatal: unable to access 'https://aaaaa/bbbbb/ccccc.git/': Invalid file descriptor
下記、ご参考。