Como faço para o Git usar um servidor proxy?
Eu preciso fazer o check-out do código de um servidor Git, mas ele mostra "Solicitação expirada" todas as vezes. Como contornar isso?
Como alternativa, como posso definir um servidor proxy?
git
version-control
proxy
PlagueHammer
fonte
fonte
Respostas:
Comando a usar:
proxyuser
para seu usuário proxyproxypwd
para sua senha de proxyproxy.server.com
para o URL do seu servidor proxy8080
para a porta proxy configurada no seu servidor proxyObserve que isso funciona para repositórios http e https.
Se você decidir a qualquer momento redefinir esse proxy e funcionar sem ele:
Comando a usar:
Por fim, para verificar o proxy atualmente definido:
fonte
%40
como um substituto para a@
string in username / password, embora eu não tenha testado isso sozinho. Espero que ajude. :-)Isso funcionou para mim, no Windows XP, atrás de um firewall corporativo.
Não precisei instalar nenhum proxy local ou qualquer outro software além do git v1.771 em http://code.google.com/p/msysgit/downloads/list?can=3
proxyuser = o usuário proxy que me foi designado pelo departamento de TI; no meu caso, é o mesmo usuário do Windows que eu uso para fazer login no meu PC, o usuário do Active Directory
proxypwd = a senha do meu usuário proxy
proxy.server.com:8080 = o nome e a porta do proxy, obtive-o no Painel de Controle, Opções da Internet, Conexões, botão Configurações da LAN, botão Avançado na seção Servidor Proxy, use o nome do servidor e a porta na primeira linha (http) .
mygithubuser = o usuário que eu uso para fazer login no github.com
mygithubpwd = a senha do meu usuário do github.com
repoUser = o proprietário do usuário do repo
repoName = o nome do repo
fonte
git config --global http.sslcainfo MY_NEW_CERTS_BUNDLE.crt
mais certificados baixados conforme descrito em simplicidade.org/notes/archives/2011/06/… (graças a: stackoverflow.com/a/7206627/98528 ) fizeram isso por mim!git://
protocolo.Defina uma variável do sistema nomeada
http_proxy
com o valor deProxyServer:Port
. Essa é a solução mais simples. Respectivamente, usehttps_proxy
como daefu apontado nos comentários.Definir gitproxy (como menciona sleske) é outra opção, mas isso requer um "comando", que não é tão simples quanto a solução acima.
Referências: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
fonte
http_proxy
é necessário para URLs HTTP ehttps_proxy
é necessário para URLs HTTPS. Como alternativa, é possível definir apenasall_proxy
para todos os URLs. Veja aENVIRONMENT
seção em curl (1) . No entanto, ao definir as opções do git-config,http.proxy
é usado para URLs HTTP e HTTPS. Vejahttp.proxy
em git-config (1) .Se a maneira da linha de comando de configurar seu servidor proxy não funcionar, provavelmente você pode editar .gitconfig (na raiz do seu perfil, que pode estar oculto em C: \ Documents and Settings e em alguma unidade de rede) e adicioná-lo :
YMMV, porém, isso cobre apenas a primeira etapa da configuração da linha de comando. Talvez você precise editar a configuração do sistema git e não faço ideia de onde eles ocultaram isso.
fonte
Como alternativa ao uso
git config --global http.proxy address:port
, você pode definir o proxy na linha de comando:A vantagem é que o proxy não está definido persistentemente. Em Bash, você pode definir um alias:
fonte
Se você estiver usando o ubuntu, faça o seguinte ...
Etapa 1: instalar o saca-rolhas
Etapa 2: escreva um script chamado git-proxy.sh e adicione o seguinte
Etapa 3: Tornar o Script Executável
Etapa 4: configurar o comando proxy para GIT, configurando a variável de ambiente
Agora use os comandos git, como
fonte
"$@"
vez de$*
. Veja o manual do seu shell para mais detalhes.Enfrentou o mesmo problema por causa de vários
.gitconfig
arquivos no Windows, seguidos abaixo das etapas para corrigir o mesmo:Etapa 1: abra o Git BASH
Etapa 2: procure
.gitconfig
, executando o seguinte comando:Etapa 3: copie o conteúdo abaixo em
.gitconfig
:fonte
Tente colocar o seguinte no arquivo ~ / .gitconfig:
fonte
Para o protocolo git (git: // ...), instale o socat e escreva um script como:
torne-o executável, coloque-o no seu caminho e no seu
~/.gitconfig
conjuntocore.gitproxy
com o nome desse script.fonte
socat STDIO PROXY:%proxy%:%1:%2,proxyport=%PROXYPORT%
set GIT_PROXY_COMMAND=path\to\script
para fazer o GIT usar o proxy sem mexer na configuração do git.Há algo que eu notei e quero compartilhar aqui:
O método acima não funcionará para URLs ssh (ou seja,
[email protected]:<user name>/<project name>.git
):E as coisas não mudarão se definirmos o SSH na porta HTTPS ( https://help.github.com/en/articles/using-ssh-over-the-https-port ) porque ela altera apenas a porta (22 por padrão ) à qual a conexão ssh se conecta.
(Não é um falante nativo de inglês, refine minhas palavras, se necessário)
fonte
Eu trabalho no Windows XP no trabalho (state / gov), então fiz minha pesquisa e encontrei isso aqui e funcionou para mim. Espero que isto ajude :)
A variável de ambiente http_proxy
Se você usa um servidor proxy ou firewall, pode ser necessário definir a variável de ambiente http_proxy para acessar alguns URLs da linha de comando. Exemplo: Instalando o ppm para perl ou aplicando o rpm no linux, atualizando o ubuntu
Defina a variável http_proxy com o nome do host ou o endereço IP do servidor proxy: http_proxy = http: // [proxy.example.org]
Se o servidor proxy exigir um nome de usuário e senha, inclua-os no seguinte formato: http_proxy = http: // [nome de usuário: [email protected]]
Se o servidor proxy usar uma porta diferente de 80, inclua o número da porta: http_proxy = http: // [nome do usuário: [email protected]: 8080]
Windows XP
Linux, Solaris ou HP-UX
Defina a variável de ambiente http_proxy usando o comando específico para seu shell (por exemplo, definir ou exportar). Para tornar essa alteração persistente, adicione o comando ao arquivo de perfil apropriado para o shell. Por exemplo, no bash, adicione uma linha como a seguinte ao seu arquivo .bash_profile ou .bashrc:
fonte
Além dessas respostas, achei útil considerar estes 2 pontos:
Pode ser necessário impor um esquema de autenticação:
Além disso, normalmente com o esquema de autenticação NTLM, pode ser necessário fornecer explicitamente o domínio do AD.
No git bash:
E atualize o http.proxy adequadamente:
De qualquer forma, a investigação pode ser ajudada adicionando logs CURL:
fonte
git config --global http.proxyAuthMethod basic
. O Git gersion 2.8.3 não enviou nenhuma autenticação até definir esse parâmetro de configuração.Se você tiver tsocks ou proxychains instalados e configurados, poderá
ou
para torná-lo mais curto, criei um link de símbolo
/usr/bin/p
paraproxychains
que eu possa usá-lo assime posso usá-lo para fazer proxy de qualquer comando,
a propósito, proxychains não é atualizado por um longo tempo, você pode querer tentar proxychians-ng
fonte
Configurando o proxy git no terminal
E se
Defina globalmente uma vez
se você deseja definir proxy para apenas um projeto git (pode haver algumas situações em que você não queira usar o mesmo proxy ou qualquer proxy para algumas conexões git)
se você deseja exibir as configurações atuais de proxy
se você deseja remover o proxy globalmente
se você deseja remover o proxy para apenas uma raiz git
fonte
aqui está a configuração de proxy
fonte
Eu segui a maioria das respostas recomendadas aqui. Primeiro, recebi o seguinte erro:
Então eu tentei o seguinte comando por @Salim Hamidi
Mas eu recebi o seguinte erro:
Isso pode acontecer se o servidor proxy não puder verificar o certificado SSL. Portanto, queremos garantir que a verificação SSL esteja desativada (não recomendada para sites não confiáveis). Por isso, realizei as seguintes etapas, recomendadas pelo @Arpit, mas com pequenas alterações:
1.Primeiro, certifique-se de remover as configurações de proxy anteriores:
2.Em seguida, liste e obtenha o conteúdo do gitconfig
3.Última atualização do conteúdo do arquivo gitconfig como abaixo:
fonte
Eu tentei todas as respostas acima e nada funcionou para mim, pois houve um problema de codificação de senha de proxy.
Este comando funcionou:
Não digite a senha no seu comando. Ele solicitará dinamicamente quando você tentar se conectar a qualquer repositório git.
fonte
Para usuários do Windows: se
git config
ouset http_proxy=
não funcionar, esta resposta pode ajudar:substitua o
git://
protocolo do repositório git porhttp://
. Observe que você precisará definir ohttp_proxy
primeiro.fonte
Depois de tentar incansavelmente todas as soluções desta página, minha solução foi usar a chave SSH!
fonte