2015-06-14 12 views
5

Pracuję na systemie Linux w środowisku Windows. Aby uwierzytelnić się z serwerem proxy NT, miałem skonfigurowany cntlm i skonfigurowałem programy systemowe do korzystania z niego poprzez ustawienie zmiennej środowiskowej http_proxy w pliku /etc/environment.git odmawia połączenia bez proxy

Teraz chcę usunąć to ustawienie proxy i połączyć programy bezpośrednio.

Więc unset zmiennych środowiskowych systemu:

unset http_proxy 
unset HTTP_PROXY 

Sprawdź ~/.gitconfig aby upewnić się, że nie istnieją żadne wpisy proxy.

Jawnie instruować git nie używać żadnych proxy:

git config --global --unset http.proxy 
git config --global --unset https.proxy 

Sprawdź, czy nie proxy jest skonfigurowany:

git config --system --get https.proxy 
git config --global --get https.proxy 
git config --system --get http.proxy 
git config --global --get http.proxy 

a następnie wcisnąć do zdalnego repo:

git push 

Ale git nadal próbuje połączyć się przez proxy:

krytyczny: nie można dostępu 'https://[email protected]/xxx.git/': failed podłączyć do portu 127.0.0.1 3128: Connection refused

Dlaczego nie będzie puścić cntlm?

+0

czy sprawdziłeś, czy jest jakiś zestaw proxy? 'env | grep -i proxy' – VonC

+0

@VocC Dzięki VonC. Myślałem, że usunąłem proxy przez 'unset http_proxy'. Istnieje jednak inna zmienna środowiskowa dla HTTPS, która musi być oddzielnie rozbrajana. Uruchomienie 'env | grep -i proxy' ujawniło, że. –

+0

@VonC Usunąłem cntlm z systemu za pomocą 'apt-get remove cntlm'. Czy wiesz, jak mogę debugować, dlaczego (i skąd) zmienna jest teraz ustawiana? –

Odpowiedz

9

Najłatwiej zrobić to sprawdzić:

env|grep -i proxy 

PO potwierdza:

myślałem, że usunięto proxy przez wyłączonym http_proxy.
Istnieje jednak inna zmienna środowiskowa dla HTTPS, która musi być rozbrajana oddzielnie. Uruchamianie env|grep -i proxy ujawniło, że.