svn通过HTTP代理

我在使用HTTP代理的networking(Ubuntu)的笔记本电脑上(只允许http连接)。
当我使用svn来寻找像'http:// …..'这样的url的时候,所有的东西都很酷(谷歌浏览器仓库工作得很好),但是现在我需要用'svn:// … “我看到连接被拒绝。
我已经在/ etc / subversion / servers中设置了代理configuration,但是没有帮助。
任何人有意见/解决scheme?

/etc/subversion/servers中设置http-proxy-host ,这与svn://无关,它连接到通常由svnserve命令启动的端口3690上运行的不同服务器。

如果你有权访问服务器,你可以按照这里的说明设置svn+ssh://

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

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

那么你会用

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

好吧,这应该很简单:

 $ sudo vi /etc/subversion/servers 

编辑文件:

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

保存它,再次运行svn ,它将工作。

如果你能得到SSH,你可以使用SSH端口转发的SVN服务器。

使用SSHs -L (或-R ,我忘了,它总是让我困惑),使一个SSH隧道

127.0.0.1:3690实际上是通过SSH隧道连接到远程:3690,然后您可以使用它

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

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

svn://不会说http,因此没有任何http代理可以做。

任何理由为什么http不起作用? 你考虑过https吗? 如果您确实需要它,您可能必须在防火墙中打开端口3690。

如果你使用标准的SVN安装,svn://连接将在tcpip端口3690上工作,所以除非你改变你的networkingconfiguration(你说只允许Httpstream量)或者你安装http模块, Apache托pipe您的SVN服务器上的服务器。

好的,这个话题已经有点过时了,但是正如我在google上发现的,有一个解决scheme,对于某个人来说这可能是有趣的:

基本上(当然),这是不可能在每个HTTP代理,但工作在代理上,允许在端口3690 HTTP连接。端口443上的HTTP代理使用此方法提供一种安全的HTTPS连接的方式。 如果您的pipe理员将代理configuration为为http连接打开端口3690,则可以设置本地计算机以通过代理build立隧道。

我只是需要检查一下svn.openwrt.org在我们公司networking中的一些文件。 创build隧道的简单方法是将以下行添加到/ etc / hosts中

127.0.0.1 svn.openwrt.org

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

而真实的; 做socat tcp-listen:3690 proxy:proxy.at.your.company:svn.openwrt.org:3690; DONE

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

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