svn over HTTP proxy

时间:2008-09-17 12:23:57

标签: linux svn ubuntu proxy

我在笔记本电脑(Ubuntu)上使用的是使用HTTP代理的网络(仅允许http连接) 当我使用svn up for url如'http:// .....'一切都很酷(google chrome存储库工作完美),但是现在我需要从服务器svn up'svn:// .... '我看到连接被拒绝。
我在/ etc / subversion / servers中设置了代理配置,但它没有帮助 有人有意见/解决方案吗?

7 个答案:

答案 0 :(得分:62)

/etc/subversion/servers中,您设置的http-proxy-hostsvn://无关,svnserve连接到通常由svn+ssh://命令启动的端口3690上运行的其他服务器。< / p>

如果您有权访问服务器,则可以将connect-tunnel -P proxy.company.com:8080 -T 10234:svn.example.com:3690 设置为explained here.

更新:您还可以尝试使用connect-tunnel,它使用您的HTTPS代理服务器来连接隧道:

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

然后你会用

{{1}}

答案 1 :(得分:46)

好的,这应该很简单:

$ sudo vi /etc/subversion/servers

编辑文件:

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

保存,再次运行svn即可。

答案 2 :(得分:2)

如果你可以通过SSH连接到SSH端口转发的SVN服务器。

使用SSHs -L(或-R,我忘了,它总是让我感到困惑)制作一个ssh隧道,以便

127.0.0.1:3690实际上是通过ssh隧道连接到远程:3690,然后你可以通过

使用它
svn co svn://127.0.0.1/....

答案 3 :(得分:1)

好的,这个主题有点过时了,但是我在google上找到它并且有一个解决方案,这对某些人来说可能很有趣:

基本上(当然)这在每个http代理上都不可能,但适用于允许端口3690上的http连接的代理。端口443上的http代理使用此方法来提供安全https连接的方法。如果管理员将代理配置为打开端口3690以进行http连接,则可以设置本地计算机以通过代理建立隧道。

我只是需要查看我们公司网络中svn.openwrt.org的一些文件。创建隧道的简单解决方案是将以下行添加到/ etc / hosts

127.0.0.1 svn.openwrt.org

之后,您可以使用socat创建到本地端口的TCP隧道:

虽然如此; do socat tcp-listen:3690 proxy:proxy.at.your.company:svn.openwrt.org:3690;完成

您应该以root身份执行命令。它打开本地端口3690,并在连接上创建到同一端口上的svn.openwrt.org的隧道。

只需根据自己的需要更换端口和服务器地址。

答案 4 :(得分:0)

当你使用svn:// URI时,它使用端口3690,可能不会使用http代理

答案 5 :(得分:0)

svn://不会说http,因此http代理无法做任何事情。

http无效的原因是什么?你考虑过https吗?如果您真的需要它,您可能必须在防火墙中打开端口3690。

答案 6 :(得分:0)

如果您正在使用标准SVN安装,则svn://连接将在tcpip端口3690上运行,因此除非您更改网络配置(您只说允许Http流量)或者您安装了托管SVN服务器的服务器上的http模块和Apache。