【问题标题】:svn over HTTP proxy [closed]通过 HTTP 代理的 svn [关闭]
【发布时间】:2010-09-10 02:21:51
【问题描述】:

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

【问题讨论】:

标签: linux svn ubuntu proxy


【解决方案1】:

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

如果你可以访问服务器,你可以将svn+ssh://设置为explained here.

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

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

然后你会使用

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

【讨论】:

  • 还有~/.subversion/servers
  • 检查一下,它确实有效solution
  • 非常感谢!它就像一个魅力!我在 Windows 上,我必须安装 cygwin(subversion + perl + make)。然后,我终于手动安装了Net::Proxy 模块(它不想使用cpan install 安装),瞧!
【解决方案2】:

好的,这应该很容易:

$ sudo vi /etc/subversion/servers

编辑文件:

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

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

【讨论】:

  • 另外,请务必在 repo url 中使用 http://,而不是 svn://
  • Windows 上的“服务器”文件位于:~\AppData\Roaming\Subversion\servers
  • 另外,请确保在文件中的 [global] 标题下编辑它,就像 dillera 说的那样,而不是在第一个出现的 [groups] 下文件。
【解决方案3】:

如果您可以通过 SSH 访问它,您可以使用 SSH 端口转发的 SVN 服务器。

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

127.0.0.1:3690确实是通过ssh隧道连接到remote:3690,然后你就可以通过

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

【讨论】:

  • Windows 上的远程服务器用于 SSH 我使用开瓶器使用 HTTP 隧道
【解决方案4】:

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

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

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

127.0.0.1 svn.openwrt.org

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

虽然是真的;做 socat tcp-listen:3690 proxy:proxy.at.your.company:svn.openwrt.org:3690;完成

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

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

【讨论】:

    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

      svn:// 不支持 http,因此 http 代理无能为力。

      http 不起作用的任何原因?你考虑过https吗?如果您真的需要它,您可能必须在防火墙中打开端口 3690。

      【讨论】:

        【解决方案7】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-21
          • 2011-05-17
          • 1970-01-01
          • 2018-07-25
          • 2010-09-20
          • 2013-06-22
          • 1970-01-01
          • 2011-01-02
          相关资源
          最近更新 更多