it-swarm-eu.dev

SVN über HTTP-Proxy

Ich bin auf einem Laptop (Ubuntu) mit einem Netzwerk, das HTTP-Proxy verwendet (nur http-Verbindungen zulässig).
Wenn ich svn up für URL wie 'http: // .....' benutze, ist alles cool (google chrome repository funktioniert perfekt), aber im Moment muss ich svn up vom Server mit 'svn: // ....' und ich sehe, dass die Verbindung abgelehnt wurde.
Ich habe die Proxy-Konfiguration in/etc/Subversion/servers festgelegt, aber es hilft nicht.
Hat jemand eine Meinung/Lösung?

52
small_jam

In /etc/Subversion/servers Stellen Sie http-proxy-Host Ein, was nichts mit svn:// Zu tun hat, das eine Verbindung zu einem anderen Server herstellt, der normalerweise auf Port 3690 ausgeführt wird und mit dem Befehl svnserve gestartet wird.

Wenn Sie Zugriff auf den Server haben, können Sie svn+ssh:// Als hier erklärt einrichten

Update : Sie können auch versuchen, connect-tunnel zu verwenden, das Ihren HTTPS-Proxyserver zum Tunneln von Verbindungen verwendet:

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

Dann würdest du verwenden

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

Ok, das sollte wirklich einfach sein:

$ Sudo vi /etc/Subversion/servers

Bearbeiten Sie die Datei:

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

Speichern Sie es, führen Sie svn erneut aus und es wird funktionieren.

46
dillera

Wenn Sie mit SSH darauf zugreifen können, können Sie einen SVN-Server mit SSH-Portweiterleitung verwenden.

Verwenden SSHs -L ( oder -R, Ich vergesse, es verwirrt mich immer) einen ssh tunnel damit zu machen

127.0.0.1:3690 verbindet sich wirklich mit remote: 3690 über den ssh tunnel, und dann kannst du es über benutzen

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

Okay, dieses Thema ist etwas veraltet, aber da ich es auf Google gefunden habe und eine Lösung habe, könnte dies für jemanden interessant sein:

Grundsätzlich ist dies (natürlich) nicht auf jedem HTTP-Proxy möglich, funktioniert jedoch auf Proxys, die eine HTTP-Verbindung über Port 3690 zulassen. Diese Methode wird von HTTP-Proxys über Port 443 verwendet, um sichere https-Verbindungen bereitzustellen. Wenn Ihr Administrator den Proxy so konfiguriert, dass Port 3690 für http connect geöffnet wird, können Sie Ihren lokalen Computer so einrichten, dass ein Tunnel über den Proxy hergestellt wird.

Ich musste gerade einige Dateien von svn.openwrt.org in unserem Firmennetzwerk auschecken. Eine einfache Lösung zum Erstellen eines Tunnels ist das Hinzufügen der folgenden Zeile zu Ihrer Datei/etc/hosts

127.0.0.1 svn.openwrt.org

Anschließend können Sie mit socat einen TCP-Tunnel zu einem lokalen Port erstellen:

während wahr; do socat tcp-listen: 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 erstellt beim Herstellen einer Verbindung einen Tunnel zu svn.openwrt.org auf demselben Port.

Ersetzen Sie einfach die Port- und Serveradressen nach Ihren Wünschen.

1
gadgetweb.de

wenn Sie den svn: // URI verwenden, wird Port 3690 verwendet, und der http-Proxy wird wahrscheinlich nicht verwendet

0
Cetra

svn: // spricht kein http, daher gibt es nichts, was ein http-Proxy tun könnte.

Gibt es einen Grund, warum http nicht funktioniert? Haben Sie schon über https nachgedacht? Wenn Sie es wirklich brauchen, müssen Sie wahrscheinlich Port 3690 in Ihrer Firewall geöffnet haben.

0
Olaf Kock

Wenn Sie die Standard-SVN-Installation verwenden, funktioniert die svn: // -Verbindung auf dem TCP/IP-Port 3690. Es ist daher grundsätzlich unmöglich, eine Verbindung herzustellen, es sei denn, Sie ändern Ihre Netzwerkkonfiguration (Sie haben angegeben, dass nur HTTP-Datenverkehr zulässig ist) oder Sie installieren das http-Modul und Apache auf dem Server, auf dem sich Ihr SVN-Server befindet.

0