我已在Visual SVN服务器上连接USB网络适配器并在其上配置了公共IP。现在,通过Internet上的https链接可以访问存储库,以便知道该链接的每个人。
我想仅允许来自我们美国办事处的SVN访问(我有美国办事处的公共IP)。来自任何其他位置或公共IP的人员不应该能够访问SVN。 VisualSVN服务器是在Windows 10计算机上设置的。这可能在Windows上吗?如果是,有人可以告诉我如何。
答案 0 :(得分:1)
首先,您可以调整Windows防火墙规则,拒绝某些客户端根据其IP地址访问VisualSVN Server。这是我们VisualSVN目前所建议的方法。
在服务器计算机上,请按照下列步骤操作:
在“控制面板”中,单击“系统和安全”,然后单击“Windows防火墙”。
点击高级设置。
在入站防火墙规则列表中找到 VisualSVN服务器(TCP-In)规则并双击它。
选择范围标签。
在远程IP地址下指定IP地址。防火墙规则配置为"允许连接"默认情况下。因此,此列表包含允许访问VisualSVN Server的IP地址。不允许未列出的IP访问VisualSVN服务器。您可以在“操作”部分的“常规”选项卡上调整此行为。
有关编辑Windows防火墙规则的详细信息,请阅读TechNet article "Add or Edit Firewall Rule"。
关于@LazyBadger的建议:事实上,可以通过修改httpd-custom.conf file
来实施基于IP的限制,但我们强烈反对采用这种方法。 VisualSVN服务器启用了SVNPathAuthz short_circuit
选项,这显着改善了
授权性能。但是该选项有一个限制:服务器
配置不能依赖其他授权模块,如
authz_host_module
(负责基于IP的检查),
否则你会在授权时遇到意外行为。
另一方面,如果您禁用short_circuit
,肯定会
注意运行授权密集型时性能下降
针对您的存储库的操作(例如运行svn log
,svn checkout
,svn export
等或运行图形存储库浏览器
例如TortoiseSVN客户提供的一个)。
因此,建议使用此类基于IP的限制的方法是使用 防火墙设置。
答案 1 :(得分:0)
Order deny,allow Deny from all Allow from us.ip.address
mod_authz_host
(重新阅读httpd.conf中的LoadModule
部分)%VISUALSVN_SERVER%conf\httpd-custom.conf
文件