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