Visual Svn Server:如何通过指定的IP地址限制编辑

时间:2014-12-15 19:43:42

标签: apache svn visualsvn-server svn-server

我想只启用一个特定的IPAddess来编辑(添加,删除,更新......)我的visual svn服务器,但所有其他IPAddess必须能够读取...

我认为文件%VISUALSVN_SERVER%conf\httpd-custom.conf

中有必要进行类似的更改
<VirtualHost *:80>
  <Location /svn>
    # write access
    <LimitExcept GET PROPFIND OPTIONS REPORT>
      Order deny,allow
      deny from all
      Allow from XXX.XXX.XXX.XXX
    </LimitExcept>
  </Location>
</VirtualHost>

但不清楚视觉svn服务器。什么是正确的方法?

Visual SVN Server 3.2 x64已安装在Windows 2008 R2 Server x64

来自VisualSvn支持的更新

  

此功能在VisualSVN Server 3.2中不可用,开箱即用,   但是我们考虑将来实施它的可能性   版本。 [...]一般来说,可以实施   通过修改httpd-custom.conf文件的基于IP的限制,但是我们   强烈反对采取这种方法。 VisualSVN Server有   启用“SVNPathAuthz short_circuit”选项,这显着   提高授权性能。该选项有一个限制,   但是:服务器配置不得依赖其他授权   模块,如“authz_host_module”(负责基于IP的   检查),否则你会遇到意外的行为   授权。另一方面,如果您禁用“short_circuit”   肯定会注意到运行时性能下降   针对您的存储库的授权密集型操作(例如   正在运行svn logsvn checkout,`svn export等或运行   图形存储库浏览器,例如一个TortoiseSVN客户端   提供)

1 个答案:

答案 0 :(得分:1)

由于SVN中没有内置支持,您可能需要寻找解决方法。

您可以将SVN服务器配置为使用身份验证,然后仅允许选定的经过身份验证的用户/组执行提交,并让所有人都进行只读访问。在IIS中可以加强安全性,并且可以轻松使用SSL / TLS,甚至可以检测并阻止暴力密码尝试,如果这是您考虑IP过滤的主要原因。

如果出于某种原因必须进行IP过滤,我建议使用另一个SVN Server实例(在不同的IP端口上运行)并对该实例执行存储库复制(使用在主实例上转储svn,然后在只读实例上加载svn 2)。然后让您的防火墙允许通信者(通过IP过滤)访问主SVN服务器,所有其他IP可以访问只读SVN服务器实例。

使用svn dump和load你实际上复制了所有东西 - 所有提交,历史记录,评论等等。你可以随心所欲地做到这一点,你也可以将这些动作绑定到post-commit钩子,让它发生每次提交后。