特定のドメインに対してのみプロキシを使用するようにgitを設定することはできますか?特定のgitのURL /ドメインにのみプロキシを使用しますか?
社内のプロキシを使用してGithubにアクセスしたいのですが、内部のgit reposにアクセスするためにはオフにしておきます。
私はbowerを使用しており、ファイアウォールとgithubの両方でアイテムを必要とする必要がありますので、プロジェクトごとの設定として行うことはできません。何らかのグローバル設定オプションが必要です。何かご意見は?
特定のドメインに対してのみプロキシを使用するようにgitを設定することはできますか?特定のgitのURL /ドメインにのみプロキシを使用しますか?
社内のプロキシを使用してGithubにアクセスしたいのですが、内部のgit reposにアクセスするためにはオフにしておきます。
私はbowerを使用しており、ファイアウォールとgithubの両方でアイテムを必要とする必要がありますので、プロジェクトごとの設定として行うことはできません。何らかのグローバル設定オプションが必要です。何かご意見は?
私は通常の環境変数を使用します。
http_proxy=http://username:[email protected]:port
https_proxy=http://username:[email protected]:port
GitHubのレポにアクセスするときにgitによってピックアップされます。
注:
http_proxy
とhttps_proxy
の両方がプロキシ(なしhttps://
)のhttp://
URLを使用する必要があります。(その短い名前に依存しない)proxydomain
のfqn (full qualified name)を使用するが、内部レポのために、私がしなければならないすべては、1つのより多くの環境変数を定義し、エクスポートです:
no_proxy=.my.company,localhost,127.0.0.1,::1
、アドレスがmyrepo.my.company
またはlocalhostのいずれかのレポにアクセスします。NO_PROXY
またはno_proxy
を定義できますが、それは問題ではありません。
しかし、念のために、私はいつもHTTP_PROXY
、HTTPS_PROXY
、http_proxy
、https_proxy
、NO_PROXY
とno_proxy
を設定します。
別の可能性を追加するには、を入力します。
git config --global http.proxy http://mydomain\\myusername:[email protected]:proxyport
しかし、何が本当にすごいのは、あなたがURLあたりセットのHTTP設定をすることができ、starting git1.8.5 (October 2013)です。
「http.*
」の変数は、構成ごとにが適用されるURLごとに指定できるようになりました。例えば
、その指定されたサイトに話したときに
[http]
sslVerify = true
[http "https://weak.example.com/"]
sslVerify = false
のみオフ
http.sslVerify
を反転します。
はcommit d4770964d5を参照してください:指定のみ<section>
で
$ git config --bool --get-urlmatch http.sslVerify https://good.example.com
true
$ git config --bool --get-urlmatch http.sslVerify https://weak.example.com
false
は、指定したURLに適用され、それらの値を持つセクション内のすべての変数のリストを取得することができます。例えば
$ git config --get-urlmatch http https://weak.example.com
http.sslverify false
すべての詳細はcommit 6a56993bにあります。
http.<url>.*::
HTTPの任意*上記のオプションがいくつかのURLに選択的に適用することができます。
https://example.com/
で例えば、https
):URLと一致するように設定キーについてexample.com
:https://example.com/
)。8080
:http://example.com:8080/
)。repo.git
:https://example.com/repo.git
)です。user
https://[email protected]/repo.git
で)上記優先度を減少させることによって、順序付けされたリスト。設定キーのパスと一致するURLは、そのユーザ名と一致するURLよりも優先されます。
たとえば、URLがhttps://[email protected]/foo/bar
の場合、設定キーの一致がhttps://[email protected]
よりも、https://example.com/foo
の設定キーの一致が優先されます。すべてのURLは、一致を試みる前に正規化されています(URLに埋め込まれている場合はパスワード部分は常に一致するため無視されるため、単に異なるスペルの同等のURLが適切に一致します)。
環境変数の設定は常にと一致します。
照合されるURLは、Gitコマンドに直接与えられたものです。
これは、リダイレクトの結果として訪問されたすべてのURL +がマッチングに参加しないことを意味します。 Windowsでは
特定のドメインにプロキシ設定を使わないようにするには、http.proxy = "" ' – imanuelcostigan
を設定する必要があります。* .mycompany.comすべてのサブドメインに一致しますか? – bbodenmiller
これは私のために巨大でした。どうもありがとう! – Artif3x
、単に[パスワードなしのノートは]あなたが遠隔特にそれぞれのさまざまな設定オプションを調整することができ、私
git config --global http.proxy http://mydomain\\myusername:@myproxyserver:proxyport
git config --global https.proxy http://mydomain\\myusername:@myproxyserver:proxyport
のために働い以下。リモコンが2台あり、それぞれorigin
とupstream
というリモコンがあるとします。あなたは、それぞれが次の操作を行うためのプロキシを調整します
git config --path remote.origin.proxy http://user:[email protected]_for_origin:8080
git config --path remote.upstream.proxy http://user:[email protected]_for_upstream:8080
これはあなたのローカルリポジトリ設定(.git/config
)内の各リモートのセクションを変更します。
また、グローバル設定のオプションを調整することもできます。グローバルコンフィグファイル($HOME/.gitconfig
)のリモート名を参照するのは意味がないので、のurl-matching(IIRC、Git 1.8.5以降でサポート)を使用できます。例:
[http "https://example.com/repo1.git"]
proxy = http://user:[email protected]:8080
[http "https://example.com/repo2.git"]
proxy = http://user:[email protected]:8080
あなたが設定されているものを見たい場合:
git config --path --get-urlmatch https://example.com/repo1.git
git config --path --get-urlmatch https://example.com/repo2.git
いくつかは、ここで述べたように、プロキシ設定と一緒にURLを指定することにより、これを行うことができますが、ここでは、ユースケースですこれは私のためにこれを修正した。上記のVonCに感謝します!
以下、私はGitサーバーのルートを指定しています。あなたがクローンしたgit repoの完全なパスは必要ありません。単一のエントリを使用してサーバー全体を管理できます。
.gitconfigファイルに次を追加します。私のWindowsシステムでは、%userprofile%\を使っています。gitconfig
[http]
proxy = http://my.proxy.net:8080
[https]
proxy = http://my.proxy.net:8443
[http "http://my.internalgitserver.com/"]
proxy = ""
ようこそ。 +1。 Windows環境変数 'NO_PROXY'を' my.internalgitserver.com'に設定していると、定義済みのプロキシを使用できないほど十分な可能性があります。http://stackoverflow.com/a/27229920/6309 – VonC
、VonC。私は様々なプロキシツール(git、bower、npm)のためのいくつかのテンプレート設定ファイルを作成し、それらをチームメンバーに渡す状況にあります。あなたがNO_PROXY設定を正しく働いている間は、私の場合は必要ではなかったし、これらをすべて私が配布できる単一のファイルにまとめることのシンプルさは、私が後にしたものです。 – Artif3x
良い点。ファイルを配布する方が環境変数より簡単です。 – VonC
私は大好きです。君は!!! – robdodson
私の場合、httpとhttpsの両方で 'http://'を削除しようとするまで動作しませんでした。 –
no_proxyはワイルドマッチに*使用しないでください。代わりに.mycompany.comを使用してください。 –