2

我只想启用特定的 IPAddess 来编辑(添加、删除、更新...)我的可视 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>

但不太了解visual svn server。什么是正确的方法?

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 log, svn checkout, `svn export 等或运行图形存储库浏览器,例如 TortoiseSVN 客户端提供的一个)

4

1 回答 1

1

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

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

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

使用 svn dump 和 load 你实际上会复制所有内容——所有提交、历史记录、评论等。你可以随意执行此操作,还可以将这些操作绑定到 post-commit 钩子,以便在每次提交后发生.

于 2015-03-27T17:58:54.440 回答