Question

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

Était-ce utile?

La solution

Dans / etc / subversion / servers , vous définissez hôte-proxy-http , ce 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: // comme expliqué ici.

Mettre à jour : vous pouvez également utiliser tunnel de connexion , qui utilise votre serveur proxy HTTPS pour les connexions de tunnel:

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

Ensuite, vous utiliseriez

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

Autres conseils

Ok, cela devrait être vraiment facile:

$ 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.

Si vous pouvez y accéder via SSH, vous pouvez utiliser un serveur SVN avec transfert de port SSH.

Utilisez SSHs -L (ou -R , j'oublie, cela me dérange toujours) pour créer un tunnel SSH de sorte que

127.0.0.1:3690 est en train de se connecter à la télécommande: 3690 via le tunnel ssh, puis vous pouvez l'utiliser via

svn co svn://127.0.0.1/....

D'accord, ce sujet est un 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:

En gros (bien sûr), cela n’est pas possible sur tous les proxy http, mais fonctionne sur les proxies autorisant la connexion http sur le port 3690. Cette méthode est utilisée par les proxys http sur le port 443 pour fournir un moyen de sécuriser les connexions https. Si votre administrateur configure le proxy pour ouvrir le port 3690 pour la connexion http, vous pouvez configurer votre ordinateur local pour établir un tunnel via le proxy.

Je viens juste de vérifier certains fichiers de svn.openwrt.org au sein du réseau de nos entreprises. Une solution simple pour créer un tunnel consiste à 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:

en tant que vrai; ne socat tcp-listen: 3690 proxy: proxy.at.votre.entreprise: svn.openwrt.org: 3690; fait

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

Il suffit de remplacer les adresses de port et de serveur pour vos propres besoins.

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

svn: // ne parle pas http, il n'y a donc 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 avoir le port 3690 ouvert dans votre pare-feu.

Si vous utilisez l’installation SVN standard, la connexion svn: // fonctionnera sur le port tcpip 3690. Il est donc impossible de vous connecter si vous ne modifiez pas la configuration de votre réseau (vous avez indiqué que seul le trafic Http est autorisé). module http et Apache sur le serveur hébergeant votre serveur SVN.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top