让SVN使用我的代理服务器

时间:2009-07-10 18:25:41

标签: svn version-control proxy

我正在尝试抓取Bro的源代码。如果我将“http://svn.icir.org/bro/trunk/bro/”放入浏览器,我可以很好地看到存储库。但是,如果我尝试命令“svn co http://svn.icir.org/bro/trunk/bro”,我会收到错误:

svn: PROPFIND request failed on '/bro/trunk/bro'
svn: PROPFIND of '/bro/trunk/bro': could not connect to server (http://svn.icir.org)

有点谷歌搜索似乎表明我应该更改我的〜/ .subversion / servers文件以包含

[global]
http-proxy-exceptions = ???
http-proxy-host = ???
http-proxy-port = ???
http-proxy-username = ???
http-proxy-password = ???

但我不知道使用什么实际值。我的浏览器设置为使用代理配置脚本,让我们假装它是“some.url.mycompany.com:port/file.name”

任何想法如何在给定http代理的情况下推断出svn代理的正确值?这是我需要IT人员为我设置的吗?

3 个答案:

答案 0 :(得分:4)

您是否可以查看代理配置文件?如果是这样,您应该能够确定要使用的服务器和端口。如果您不需要登录即可访问互联网,您可以将用户名和密码留空。同样适用于例外情况。

当我在一家使用代理配置文件的公司时,我能够浏览到该文件以查看如何处理过滤。

来自WikiPedia的示例代理配置文件(虽然我确信这些文件因使用的代理软件而有很大不同):

function FindProxyForURL(url, host) {
  // our local URLs from the domains below example.com don't need a proxy:
  if (shExpMatch(url,"*.example.com/*"))                  {return "DIRECT";}
  if (shExpMatch(url, "*.example.com:*/*"))               {return "DIRECT";}

  // URLs within this network are accessed through 
  // port 8080 on fastproxy.example.com:
  if (isInNet(host, "10.0.0.0",  "255.255.248.0"))    {
     return "PROXY fastproxy.example.com:8080";
  }

  // All other requests go through port 8080 of proxy.example.com.
  // should that fail to respond, go directly to the WWW:
  return "PROXY proxy.example.com:8080; DIRECT";
}

如果存储库的url与任何规则都不匹配(因此将使用:PROXY proxy.example.com:8080; DIRECT):

[global]
# http-proxy-exceptions = ???
http-proxy-host = proxy.example.com
http-proxy-port = 8080
# http-proxy-username = ???
# http-proxy-password = ???

答案 1 :(得分:2)

听起来您正在工作场所尝试此操作,并且您的网络管理员已设置代理服务器以允许网络流量通过。除非您使用代理,否则所有其他流量都会被阻止(这就是您在浏览器中使用代理设置以允许浏览器运行的原因)

另请注意,代理本身可能正在进行进一步过滤,因此即使您设法将代理服务器用于SVN,该流量仍可能被阻止。这完全取决于网络安全性的严重程度。

在我看来,最好只是让您的IT部门向您提供代理服务器的详细信息。他们甚至可能会为您提供不同的用途。或者他们可以调整防火墙策略以允许您尝试通过的流量类型。

尝试从浏览器的代理设置中挖掘出线索,并使用它来实现这一目标。

答案 2 :(得分:-1)

通常,解决此问题的最简单方法是浏览到Fire Fox中的存储库...接受传递的SSL证书...并记住接受。然后你可以毫无问题地浏览SVN / Tortoise。