svn über HTTP-Proxy [geschlossen]
Frage
Ich bin auf dem Laptop (Ubuntu) mit einem Netzwerk, die HTTP-Proxy verwendet (nur HTTP-Verbindungen erlaubt).
Wenn ich svn up für url verwenden wie 'http: // .....' alles ist cool (Google Chrome-Repository funktioniert perfekt), aber jetzt muss ich vom Server mit ‚svn svn up: // .... "und ich sehe Verbindung abgelehnt.
Ich habe Proxy-Konfiguration in / etc / subversion / Server, aber es hilft nicht.
Jedermann hat Meinung / Lösung?
Lösung
In /etc/subversion/servers
Sie setzen http-proxy-host
, die nichts mit svn://
zu tun hat, die in der Regel auf einen anderen Server verbindet läuft auf Port 3690 gestartet von svnserve
Befehl.
Wenn Sie den Zugriff auf den Server haben, können Sie Setup svn+ssh://
wie hier erklärt.
Aktualisieren : Sie können auch mit versuchen könnten, connect-tunnel
, die Tunnelverbindungen Ihres HTTPS-Proxy-Server verwendet:
connect-tunnel -P proxy.company.com:8080 -T 10234:svn.example.com:3690
Dann würden Sie verwenden
svn checkout svn://localhost:10234/path/to/trunk
Andere Tipps
Ok, sollte dies einfach sein:
$ sudo vi /etc/subversion/servers
Sie die Datei bearbeiten:
[Global]
http-proxy-host=my.proxy.com
http-proxy-port=3128
Speichern Sie es, laufen svn
wieder und es wird funktionieren.
Wenn Sie SSH, um es bekommen können Sie einen SSH-Port-Weiterleitung SVN-Server.
Mit SSHs -L
(oder -R
, ich vergessen, es verwirrt mich immer) einen SSH-Tunnel zu machen, so dass
127.0.0.1:3690
verbindet wirklich remote: 3690 über den SSH-Tunnel, und dann können Sie es über
svn co svn://127.0.0.1/....
Okay, ist dieses Thema etwas veraltet, aber wie ich es auf Google gefunden und haben eine Lösung könnte dies für jemanden interessant sein:
Im Grunde (natürlich) ist dies auf jeder HTTP-Proxy nicht möglich, funktioniert aber auf Proxies ermöglichen http Verbindung auf Port 3690 Diese Methode wird von http-Proxies auf Port verwendet wird, 443 einen Weg für eine sicheren https-Verbindungen zur Verfügung zu stellen. Wenn Ihr Administrator der Proxy-Port 3690 öffnen konfiguriert für http verbinden können Sie Setup Ihre lokale Maschine einen Tunnel durch den Proxy einzurichten.
Ich war nur in der Notwendigkeit, in unserem Unternehmen Netzwerk einige Dateien von svn.openwrt.org zu überprüfen. Eine einfache Lösung, die einen Tunnel fügt die folgende Zeile in / etc / hosts
erstellen127.0.0.1 svn.openwrt.org
Danach können Sie socat verwenden, um einen TCP-Tunnel auf einen lokalen Port zu erstellen:
while true; do socat tcp-hören: 3690 proxy: proxy.at.your.company: svn.openwrt.org: 3690; getan
Sie sollten den Befehl als root ausführen. Es öffnet den lokalen Port 3690 und auf der Verbindung schafft einen Tunnel auf dem gleichen Port svn.openwrt.org.
Ersetzen Sie einfach die Port- und Serveradressen auf Ihre eigenen Bedürfnisse.
Wenn Sie die svn: // URI es verwendet Port 3690 und wahrscheinlich nicht http-Proxy verwenden
svn: // nicht http reden, dafür gibt es nichts, ein HTTP-Proxy tun könnte
.Gibt es Gründe, warum http funktioniert nicht? Haben Sie darüber nachgedacht https? Wenn Sie es wirklich brauchen, müssen Sie wahrscheinlich Port 3690 in der Firewall geöffnet werden.
Wenn Sie die Standard SVN Installation der SVN verwenden: // Verbindung wird auf tcpip-Port 3690 arbeiten und es ist so im Grunde unmöglich zu verbinden, wenn Sie Ihre Netzwerkkonfiguration ändern (Sie sagte nur Http-Verkehr erlaubt ist) oder Sie die Installation http-Modul und Apache auf dem Server als Host für Ihren SVN-Server.