web-dev-qa-db-fra.com

svn sur proxy HTTP

Je suis sur un ordinateur portable (Ubuntu) avec un réseau qui utilise un proxy HTTP (seules les connexions http sont autorisées).
Quand j'utilise svn up pour une URL comme 'http: // .....' tout est cool (le référentiel google chrome fonctionne parfaitement), mais pour le moment je dois svn up depuis le serveur avec 'svn: // ....' et je vois la connexion refusée.
J'ai défini la configuration du proxy dans/etc/Subversion/servers mais cela n'aide pas.
Quelqu'un a-t-il une opinion/une solution?

52
small_jam

Dans /etc/Subversion/servers vous définissez http-proxy-Host, qui n'a rien à voir avec svn:// qui se connecte à un autre serveur fonctionnant généralement sur le port 3690 démarré par la commande svnserve.

Si vous avez accès au serveur, vous pouvez configurer svn+ssh:// as expliqué ici.

Mise à jour : vous pouvez également essayer d'utiliser connect-tunnel , qui utilise votre serveur proxy HTTPS pour tunneliser les connexions:

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

Ensuite, vous utiliseriez

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

Ok, ça devrait être vraiment simple:

$ Sudo vi /etc/Subversion/servers

Modifiez le fichier:

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

Enregistrez-le, exécutez à nouveau svn et cela fonctionnera.

46
dillera

Si vous pouvez y connecter SSH, vous pouvez utiliser un serveur SVN à transfert de port SSH.

Utilisation SSHs -L ( ou -R, J'oublie, ça me dérange toujours) de faire un tunnel ssh pour que

127.0.0.1:3690 se connecte vraiment à distance: 3690 via le tunnel ssh, puis vous pouvez l'utiliser via

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

D'accord, ce sujet est quelque peu dépassé, mais comme je l'ai trouvé sur Google et que j'ai une solution, cela pourrait être intéressant pour quelqu'un:

Fondamentalement (bien sûr), cela n'est pas possible sur tous les proxy http mais fonctionne sur les proxy permettant la connexion http sur le port 3690. Cette méthode est utilisée par les proxy http sur le port 443 pour fournir un moyen pour les connexions https sécurisées. Si votre administrateur configure le proxy pour ouvrir le port 3690 pour la connexion http, vous pouvez configurer votre machine locale pour établir un tunnel via le proxy.

J'étais juste dans le besoin de vérifier certains fichiers de svn.openwrt.org au sein de notre réseau d'entreprises. Une solution simple pour créer un tunnel est d'ajouter la ligne suivante à votre/etc/hosts

127.0.0.1 svn.openwrt.org

Ensuite, vous pouvez utiliser socat pour créer un tunnel TCP vers un port local:

bien que vrai; faire socat tcp-listen: 3690 proxy: proxy.at.your.company: svn.openwrt.org: 3690; terminé

Vous devez exécuter la commande en tant que root. Il ouvre le port local 3690 et lors de la connexion crée un tunnel vers svn.openwrt.org sur le même port.

Remplacez simplement les adresses de port et de serveur selon vos propres besoins.

1
gadgetweb.de

lorsque vous utilisez l'URI svn: //, il utilise le port 3690 et n'utilisera probablement pas le proxy http

0
Cetra

svn: // ne parle pas http, donc il n'y a rien qu'un proxy http puisse faire.

Une raison pour laquelle http ne fonctionne pas? Avez-vous envisagé https? Si vous en avez vraiment besoin, vous devez probablement ouvrir le port 3690 dans votre pare-feu.

0
Olaf Kock

Si vous utilisez l'installation SVN standard, la connexion svn: // fonctionnera sur le port tcpip 3690 et il est donc pratiquement impossible de se connecter à moins que vous ne changiez votre configuration réseau (vous avez dit que seul le trafic Http est autorisé) ou que vous installiez le module http et Apache sur le serveur hébergeant votre serveur SVN.

0
massimogentilini