it-swarm-pt.tech

Git através de um proxy. O que está causando o erro 407 ao clonar?

Estou tentando usar o Git através de um proxy. Eu tentei definir parâmetros 'git config --global' em muitas maneiras, mas sempre sem sucesso ao clonar repositórios.

Eu fiz:

git config --global http.proxy http://DOMAIN\\\username:[email protected]:8080
git config --global http.sslverify false
git clone http://github.com/project/project.git

E eu peguei:

$ git clone http://github.com/project/project.git folder
Cloning into 'folder'...
error: The requested URL returned error: 407 while accessing http://github.com/project/project.git/info/refs
fatal: HTTP request failed

Então, como depurar isso ou habilitar o log no Git para descobrir porque ainda estou recebendo o erro 407? Existe algum parâmetro no Git para mostrar o que está acontecendo para capturar o ponto certo onde o erro está ocorrendo?

14
John John Pichler

Eu tive um problema semelhante ao tentar git Push de um cliente Git Bash no Windows.

Eu consertei apenas por navegando até o site usando o Chrome.
Então eu voltei para o Git Bash e funcionou imediatamente

Para maior clareza, minha URL do repositório GIT parece http://[email protected]/myproject.git
E eu naveguei para http://www.cloudforge.com

Meu entendimento é que isso força o proxy a resolver esse domínio.

9
MonoThreaded

Você pode ativar o log de rastreamento para obter mais informações sobre o que o Git está fazendo. A seguir, um exemplo:

GIT_TRACE=$HOME/trace.log git co master

Você deve usar caminhos absolutos se quiser enviar a saída para um arquivo. Caso contrário, use true ou 1 para enviar a saída ao erro padrão; por exemplo. GIT_TRACE=1.

7
Dan Cruz

Eu acho que você deve começar a partir do erro HTTP: Erro HTTP 407 explicou . E a partir daí você pode chegar à resposta: problema de erro de proxy . Espero que ajude.

2
Adam Arold

Eu copiei a seção de proxy http do meu .gitconfig para https:

[http]
        proxy = http://user:[email protected]_or_Host:port
[https]
        proxy = http://user:[email protected]_or_Host:port

Eu coloquei uma senha incorreta no proxy http apenas para verificar, e ela foi ignorada, então é a seção https que estava faltando para mim.

Estranhamente, em outro dia que não funcionou. Não sei se estou enlouquecendo ou se há outro passo que esqueci. No caso de hoje, esse método de configuração do proxy funcionou (com um .gitconfig limpo) na linha de comando:

HTTPS_PROXY="http://user:[email protected]_or_Host:port/" git clone --progress -v "https://github.com/repo" local_folder

Notas:

  1. Se você estiver em um domínio, talvez seja necessário usar a sintaxe DOMAIN\user.
  2. Isso não funcionou para o TortoiseGit, mas funcionou no gitbash no Windows.
1
thinkOfaNumber

Isso funciona para usuários em um domínio e atrás de proxy com autenticação e inspeção HTTPS. Use o seguinte, em que o% 5c é usado em vez de "\". ie. DOMAIN% 5cusername @ proxy: port

Abra a configuração do GIT no editor, digitando o comando abaixo:

git config --global -e     

Adicione/atualize as seguintes seções e salve:

[http]
    proxy = http://domain%5cusername:[email protected]:port
    sslVerify = false
[https]
    proxy = http://domain%5cusername:[email protected]:port
    sslVerify = false
1
ederkley

O seguinte resolveu o problema para mim

  1. Clique com o botão direito do mouse na pasta git-> TortoiseGit-> Configurações-> Rede
  2. Ativar servidor proxy e entrada de proxy, porta, usuário, senha
1
Hello Universe

Esse erro pode ocorrer se as credenciais do proxy forem fornecidas, mas inválidas. No meu caso, era uma senha antiga.

1
Matthias Lohr

Seu proxy também pode ser definido como uma variável de ambiente. Verifique se o seu ambiente tem alguma das variáveis ​​de env http_proxy ou https_proxy configuradas e desmarque-as.

Usando o comando Prompt

# Linux
export http://user:[email protected]_or_Host:port
export http://user:[email protected]_or_Host:port

# Windows
set HTTP_PROXY = http://user:[email protected]_or_Host:port 
set HTTPS_PROXY = http://user:[email protected]_or_Host:port

mudar manualmente 

  • Clique com o botão direito no meu computador
  • selecione propriedades
  • configurações avançadas do sistema avançado-> variáveis ​​do sistema -> adicionar
1
Prabin Tp

Note que para qualquer Git entre 2.8 (fevereiro de 2016, cinco anos após a pergunta do OP) e Git 2.13 (Q2 2017), uma configuração de proxy inválida seria silenciosamente ignorada (nem mesmo um 407)

Ver commit ae51d91 , commit 5741508 (11 abr 2017) por Sergey Ryazanov (acteek) .
Ajudado por: Jeff King (peff) .
(Mesclado por Junio ​​C Hamano - gitster - em commit 6b51cb6 , 24 abr 2017)

http: consertar o silencioso ignorando proxy misconfiguraion

Anteriormente, toda a cadeia de opções http.proxy foi passada para curl sem Nenhum pré-processamento para que curl pudesse reclamar da configuração do proxy inválido .

Após o commit 372370f ("http: use a API da credencial para tratar a autenticação do proxy ", 2016-01-26), se o usuário especificou uma opção de proxy HTTP Inválida na configuração , então a opção parsing silenciosamente falha e NULL será passado para enrolar como um proxy.
Isso força a curl a retornar para detectar a configuração de proxy do ambiente, fazendo com que a opção http.proxy ignore.

Corrija esse problema, verificando o resultado da análise da opção de proxy. Se a análise Falhar, imprima uma mensagem de erro e morra.
Esse comportamento permite que o usuário Determine rapidamente o erro de configuração do proxy e corrija-o.

0
VonC

Se você está dentro de um firewall corporativo e está usando o windows git bash então:

Abra o arquivo gitconfig global, geralmente isto estará em C:\Users\USER_NAME.gitconfig e adicione as linhas abaixo se não existir.

[http]
proxy = http://USER_NAME:[email protected]_URL:PROXY_PORT
sslverify = false
[https]
proxy = http://USER_NAME:[email protected]_URL:PROXY_PORT
sslverify = false

Certifique-se de que sua senha não possua o caractere '@'. Se você ainda tiver o problema e estiver usando o URL proxy em vez de IP: Abra o comando - 'Windows Key + R' e digite cmd então aperte enter execute o comando:

nslookup PROXY_URL

Isso dará alguns endereços IP. Tente estes endereços IP em .giconfig em vez de PROXY_URL.

0
Rijas Madurakuzhi