[转]如何设置svn的ip限制
http://blog.csdn.net/huang_xw/article/details/8119377
需求背景:由于公司在外地成立了分公司,但是要求源代码还要共用。除了普通意义上的VPN控制外,还要求对源代码的访问实现精细控制。具体如下:
1.对于公司内网,即源代码所在地(公司总部)要求所有人通过SVN账号密码访问,访问的具体权限为Visual SVN Server控制,只读、读写等。
2.对于分公司,外网访问。要求通过具体IP访问,只有要求的IP可以通过公司VPN进入公司源代码服务器地址进行访问,访问的具体权限根据不同人员用Visual SVN Server进行控制,只读、读写等。
解决方案及策略:
方案一:本地安全策略-->IP安全策略
由于源代码所在服务器操作系统为Windows Server 2008 R2,故本身具有高安全性。可以设置IP安全策略,对特定的服务端口进行控制。此方法对于只允许单个IP、少数IP可以访问有很好效果,但是由于公司总部内网IP段比较多,故设置起来费时费力。因为要单独放行的IP数目过多,它没有放行一个IP段的选项。
方法的设置就不在此赘述了,网上有很多。它的效果非常明显,也很不错,但是由于公司应用条件的特殊要求被我废弃使用此方案。
方案二:采用apache的Allow与Deny
在安装完Visual SVN Server之后,在安装目录下的conf中,肯定能看到一些这样的段落,LoadModule ***
<Directory/>
Options FollowSymLinks
AllowOverride None
RewriteEngine on
……
</Directory>
此时只需要在Directory增加Order与Deny规则即可。具体规则可以参见apache的帮助。按照我们公司要求,我只需要如下设置:
<Directory/>
Options FollowSymLinks
AllowOverride None
RewriteEngine on
Order Deny,Allow
Deny From All
Allow From 192.168.10 (允许10段访问)
Allow From 192.168.20 (允许20段访问)
Allow From 192.168.30.1 (允许此IP地址访问)
……
</Directory>
好了,设置完成后,只需要重启你的Visual SVN Server服务即可,只有在被要求范围之内的IP才可以访问其他的均会返回404.在方案二实施过程中,还遇到一点小问题,如果你也遇到了,请参阅http://blog.sina.com.cn/s/blog_6dc4dbed0100zat9.html
浙公网安备 33010602011771号