it-swarm-pt.tech

svn sobre proxy HTTP

Estou no laptop (Ubuntu) com uma rede que usa proxy HTTP (somente conexões HTTP permitidas).
Quando eu uso svn up para url como 'http: // .....' tudo fica legal (google chrome funciona perfeitamente)], mas agora eu preciso svn acima do servidor com 'svn: // ....' e vejo a conexão recusada.
Eu defini a configuração de proxy no/etc/Subversion/servers, mas isso não ajuda.
Alguém tem opinião/solução?

52
small_jam

No /etc/Subversion/servers você está definindo http-proxy-Host, que não tem nada a ver com svn:// que se conecta a um servidor diferente, geralmente executando na porta 3690 iniciada pelo comando svnserve.

Se você tiver acesso ao servidor, poderá configurar svn+ssh:// como explicado aqui.

Atualização : você também pode tentar usar connect-tunnel , que usa seu servidor proxy HTTPS para encapsular conexões:

connect-tunnel -P proxy.company.com:8080 -T 10234:svn.example.com:3690

Então você usaria

svn checkout svn://localhost:10234/path/to/trunk
62
cubex

Ok, isso deve ser muito fácil:

$ Sudo vi /etc/Subversion/servers

Edite o arquivo:

[Global]
http-proxy-Host=my.proxy.com
http-proxy-port=3128

Salve-o, execute svn novamente e ele funcionará.

46
dillera

Se você conseguir obter o SSH, poderá usar um servidor SVN encaminhado pela porta SSH.

Usar SSHs -L (ou -R, Eu esqueço, sempre me confunde) fazer um túnel ssh para que

127.0.0.1:3690 está realmente se conectando ao controle remoto: 3690 através do túnel ssh, e então você pode usá-lo via

svn co svn://127.0.0.1/....
2
Kent Fredric

Ok, este tópico está um pouco desatualizado, mas como o encontrei no google e tenho uma solução, isso pode ser interessante para alguém:

Basicamente (é claro) isso não é possível em todos os proxy http, mas funciona em proxies, permitindo a conexão http na porta 3690. Esse método é usado pelos proxies http na porta 443 para fornecer uma maneira de conexões https seguras. Se o administrador configurar o proxy para abrir a porta 3690 para conexão http, você poderá configurar sua máquina local para estabelecer um túnel através do proxy.

Eu só precisava verificar alguns arquivos do svn.openwrt.org na rede de nossas empresas. Uma solução fácil para criar um túnel é adicionar a seguinte linha aos seus/etc/hosts

127.0.0.1 svn.openwrt.org

Posteriormente, você pode usar o socat para criar um túnel tcp para uma porta local:

enquanto verdadeiro; faça socat tcp-listen: 3690 proxy: proxy.at.your.company: svn.openwrt.org: 3690; feito

Você deve executar o comando como root. Ele abre a porta local 3690 e, na conexão, cria um túnel para svn.openwrt.org na mesma porta.

Apenas substitua os endereços da porta e do servidor de acordo com suas próprias necessidades.

1
gadgetweb.de

quando você usa o URI svn: //, ele usa a porta 3690 e provavelmente não usará o proxy http

0
Cetra

svn: // não fala http, portanto não há nada que um proxy http possa fazer.

Alguma razão para o http não funcionar? Você já considerou https? Se você realmente precisar, provavelmente precisará ter a porta 3690 aberta no seu firewall.

0
Olaf Kock

Se você estiver usando a instalação padrão do SVN, a conexão svn: // funcionará na porta tcpip 3690 e, portanto, é praticamente impossível conectar-se, a menos que você mude a configuração da rede (você disse que apenas o tráfego HTTP é permitido) ou instale o módulo http e Apache no servidor que hospeda seu servidor SVN.

0
massimogentilini