プロキシサーバーを使うにはどうすればいいですか?
私はgitサーバーからコードをチェックアウトする必要があります。毎回 "Request timed out"と表示されますこれを回避するにはどうすればよいですか。
あるいは、プロキシサーバーを設定するにはどうすればよいですか?
使用するコマンド
git config --global http.proxy http://proxyuser:[email protected]:8080
proxyuser
をあなたのプロキシユーザに変更しますproxypwd
をあなたのプロキシパスワードに変更してください。proxy.server.com
をプロキシサーバーのURLに変更します。8080
をプロキシサーバーに設定されているプロキシポートに変更します。いつでもこのプロキシをリセットしてプロキシなしで動作することにした場合:
使用するコマンド
git config --global --unset http.proxy
最後に、現在設定されているプロキシを確認します。
git config --global --get http.proxy
これは私にとって、企業のファイアウォールの内側にあるウィンドウXPでうまくいきました。
http://code.google.com/p/msysgit/downloads/list?can=3 からgit v1.771以外にローカルプロキシやその他のソフトウェアをインストールする必要はありませんでした。
$ git config --global http.proxy http://proxyuser:[email protected]:8080
$ git config --system http.sslcainfo /bin/curl-ca-bundle.crt
$ git remote add Origin https://mygithubuser:[email protected]/repoUser/repoName.git
$ git Push Origin master
proxyuser =私のIT部門から割り当てられたプロキシユーザー。私の場合は、自分のPCにログインするときに使用したのと同じWindowsユーザー、Active Directoryユーザーです。
proxypwd =私のプロキシユーザーのパスワード
proxy.server.com:8080 =プロキシの名前とポート、[コントロールパネル]、[インターネットオプション]、[接続]、[LANの設定]ボタン、[プロキシサーバー]セクションの[詳細]ボタンから取得最初の(http)行.
mygithubuser =私がgithub.comにログインするために使用するユーザー
mygithubpwd =私のgithub.comユーザーのパスワード
repoUser =リポジトリのユーザー所有者
repoName =リポジトリの名前
http_proxy
という名前のシステム変数にProxyServer:Port
の値を設定します。これが最も簡単な解決策です。それぞれ、コメントで指摘されているようにhttps_proxy
を使用してください。
Glesproxyを設定すること(別の方法で言及されているように)は別の選択肢ですが、それは "コマンド"を必要とします。
参考文献: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
プロキシサーバーを設定するコマンドラインの方法がうまくいかない場合は、をクリックしてください。プロファイルのルートにある.gitconfigを編集するだけで済みます。ドライブ)とこれを追加:
[http]
proxy = http://username:[email protected]:8080
しかし、YMMVでは、これはコマンドライン設定の最初のステップのみをカバーしています。あなたはsystem git設定も編集しなければならないかもしれません、そして、私は彼らがどこでそれを隠したかわかりません。
git config --global http.proxy address:port
を使用する代わりに、コマンドラインでプロキシを設定することができます。
git -c "http.proxy=address:port" clone https://...
利点は、プロキシが永続的に設定されていないことです。 Bashでは、エイリアスを設定することができます。
alias git-proxy='git -c "http.proxy=address:port"'
あなたがubuntuを使用している場合は、次の手順を実行します。
ステップ1:栓抜きの取り付け
$ Sudo apt-get install corkscrew
ステップ2:git-proxy.shという名前のスクリプトを作成して、以下を追加します。
#!/bin/sh
exec corkscrew <name of proxy server> <port> $*
# <name_of_proxy_server> and <port> are the ip address and port of the server
# e.g. exec corkscrew 192.168.0.1 808 $*
ステップ3:スクリプトを実行可能にする
$ chmod +x git-proxy.sh
ステップ4:環境変数を設定してGIT用のプロキシコマンドを設定する
$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"
では、次のようにgitコマンドを使ってください。
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
ウィンドウ内に複数の.gitconfig
ファイルがあるため、同じ問題に直面しました。以下の手順に従って同じ問題を解決しました。
ステップ1: Open Git BASH
ステップ2: / .gitconfig
を探し、次のコマンドを実行します。
git config --list --global --show-Origin
ステップ3: / .gitconfig
内の以下の内容をコピーします。
[http]
proxy = http://YOUR_PROXY_USERNAME:[email protected]:YOUR.PROXY.SERVER.PORT
sslverify = false
[https]
proxy = http://YOUR_PROXY_USERNAME:[email protected]:YOUR.PROXY.SERVER.PORT
sslverify = false
[url "http://github.com/"]
insteadOf = git://github.com/
[user]
name = Arpit Aggarwal
email = [email protected]
以下を〜/ .gitconfigファイルに追加してみてください。
[http]
proxy = http://proxy:8080
[https]
proxy = http://proxy:8080
[url "https://"]
insteadOf = git://
Gitプロトコル(git:// ...)の場合は、socatをインストールして次のようなスクリプトを作成します。
#!/bin/sh
exec socat - socks4:your.company.com:$1:$2
それを実行可能にし、それをあなたのパスに入れ、そしてあなたの~/.gitconfig
にセットし、core.gitproxy
をそのスクリプトの名前にセットしてください。
これらの答えに加えて、私はこれらの2つの点を考慮するのに役立ちました:
認証スキームを強制する必要があるかもしれません。
[http]
# https://github.com/git/git/blob/master/Documentation/config.txt
proxyAuthMethod = anyauth|basic|digest|negotiate|ntlm
また、通常NTLM認証スキーマでは、ADドメインを明示的に提供する必要があるかもしれません。
Git bashの場合:
echo %userdomain%
それに応じてhttp.proxyを更新します。
git config --global http.proxy http://DOMAIN\\proxyuser:[email protected]:8080
とにかく、調査はCURLログを追加することによって助けられるかもしれません:
export GIT_CURL_VERBOSE=1
私が気づいたものがあり、ここで共有したいと思います。
git config --global http.proxy http://<proxy address>:<port number>
上記の方法はsshのURLでは機能しません:(つまり[email protected]:<user name>/<project name>.git
)
git clone [email protected]:<user name>/<project name>.git // this will not use the above proxy!
また、HTTPSポートにSSHを設定しても( https://help.github.com/en/articles/using-ssh-over-the-https-port )ポートを変更するだけなので、状況は変わりません。 (デフォルトで22)ssh接続が接続します。
(ネイティブスピーカーではありません、必要に応じて私の言葉を洗練してください)
私は仕事中にWindows XPで作業しています(state/gov)。そこで私は調査を行い、この here を見つけてそれがうまくいきました。これが助けになることを願います:)
http_proxy環境変数
プロキシサーバーやファイアウォールを使用している場合は、コマンドラインからURLにアクセスするためにhttp_proxy環境変数を設定する必要があるかもしれません。
Http_proxy変数にプロキシサーバーのホスト名またはIPアドレスを設定します。 http_proxy = http:// [proxy.example.org]
プロキシサーバーにユーザー名とパスワードが必要な場合は、それらを次の形式で含めます。 http_proxy = http:// [username:[email protected]]
プロキシサーバーが80以外のポートを使用する場合は、ポート番号を含めます。 http_proxy = http:// [username:[email protected]:8080]
Windows XP
- コントロールパネルを開き、システムアイコンをクリックします。
- 詳細設定タブで、環境変数をクリックします。
- [システム環境変数]パネルで[新規]をクリックします。
- 適切なプロキシ情報を付けてhttp_proxyを追加します(上記の例を参照)。
Linux、Solaris、またはHP-UX
シェル固有のコマンド(例:setまたはexport)を使用して、http_proxy環境変数を設定します。この変更を永続的にするには、シェルの適切なプロファイルファイルにコマンドを追加してください。たとえば、bashで、.bash_profileファイルまたは.bashrcファイルに次のような行を追加します。
- http_proxy = http:// [ユーザー名:パスワード@ホスト名:ポート];
- $ http_proxyをエクスポート
tsocks または proxychains がインストールおよび設定されている場合は、次のことができます。
$ tsocks git clone <you_repository>
または
$ proxychains git clone <you_repository>
短くするために、proxychains
に対して/usr/bin/p
というシンボルリンクを作成したので、このように使用できます。
p git clone <you_repository>
そして私はそれを使ってあらゆるコマンドを代理することができます。
p <cmd-need-be-proxied>
ところで、proxychainsは長い間更新されていません、あなたは proxychians-ng を試してみたいかもしれません
端末にgitプロキシを設定する
もし
一度グローバルに設定
git config --global http.proxy username:password@proxy_url:proxy_port
git config --global https.proxy username:password@proxy_url:proxy_port
1つのgitプロジェクトのみにプロキシを設定したい場合(いくつかのgit接続に同じプロキシまたはまったくプロキシを使用したくない場合があります)
//go to project root
cd /bla_bla/project_root
//set proxy for both http and https
git config http.proxy username:password@proxy_url:proxy_port
git config https.proxy username:password@proxy_url:proxy_port
現在のプロキシ設定を表示したい場合
git config --list
グローバルにプロキシを削除したい場合
git config --global --unset http.proxy
git config --global --unset https.proxy
1つのgitルートだけのプロキシを削除したい場合
//go to project root
cd /bla-bla/project_root
git config --unset http.proxy
git config --unset https.proxy
Windowsをお使いの方へ:git config
またはset http_proxy=
が機能しない場合、 この答え は役に立ちます。
gitリポジトリのgit://
プロトコルをhttp://
に置き換えます。とにかく、最初にhttp_proxy
を設定する必要があります。
これがプロキシ設定です
git config --global http.proxy http://<username>:<pass>@<ip>:<port>
git config --global https.proxy http://<username>:<pass>@<ip>:<port>
このページですべての解決策をたゆまずに試した後、私の回避策は代わりにSSHキーを使用することでした!
私は上記のすべての答えを試してみましたが、プロキシパスワードのエンコードの問題があったため、何もうまくいきませんでした。
このコマンドはうまくいきました:
git config --global http-proxy http://[email protected]:PortNumber
コマンドにパスワードを入力しないでください。いつgitリポジトリに接続しようとしたかが動的に尋ねられます。
私はここで推薦された答えのほとんどをたどった。最初に私は以下のエラーを受け取りました:
fatal:にアクセスできない ' https://github.com/folder/sample.git/ ':schannel:next InitializeSecurityContextが失敗しました:不明なエラー(0x80092012) - [ [] ____]失効機能が[]証明書の失効を確認できませんでした。
それから私は@Salim Hamidiによって次のコマンドを試してみました
git config --global http.proxy http://proxyuser:[email protected]:8080
しかし、私は次のエラーが出ました:
fatal:にアクセスできない ' https://github.com/folder/sample.git/ ':CONNECT後にプロキシからHTTPコード 407を受信しました
これは、プロキシサーバーがSSL証明書を検証できない場合に起こります。そのため、ssl検証がオフになっていることを確認したい(信頼されていないサイトにはお勧めできません)ので、@ Arpitが推奨する次の手順を少し変更して行いました。
1.まず、以前のプロキシ設定をすべて削除してください。
git config --global --unset http.proxy
2.次に、gitconfigの内容を一覧表示して取得します。
git config --list --show-Origin
以下のようにgitconfigファイルの内容を最後に更新します。
[http]
sslCAInfo = C:/yourfolder/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt
sslBackend = schannel
proxy = http://proxyuser:[email protected]:8080
sslverify = false
[https]
proxy = http://proxyuser:[email protected]:8080
sslverify = false