我们的服务器上有一系列的 Subversion 存储库,我们希望建立并运行 VPN,以便能够在站外访问它们。
然而,我的老板坚持认为,除非你真的在办公室(或者在外面的无线网络中……),否则少数几个存储库是无法访问的。
我怎样才能实现这个目标?
我的猜测是使用 apache 设置做一些事情(我们正在使用 webdav)
答案1
你应该看看订购、拒绝和允许选项。您应该允许来自本地网络的访问并拒绝来自所有人的访问。您可以在 <Location> 块中使用这些配置作为存储库 URL。
<Location /svn>
SVNParentPath /var/svn
DAV svn
Order allow,deny
Allow from all
</Location>
<Location /svn/secret>
Order allow,deny
Allow from 10.0.0.0/8
Deny from all
</Location>
答案2
在您的 Apache 配置中只需设置服务器。不要将其设置为 *:80,而应将其设置为 192.168.0.5:80(仅适用于办公室),对于 vpn 仅使用 10.0.0.5:80
我们的方法是这样的:
<VirtualHost *:80>
ServerName 10.0.0.100
ServerAlias svn.domain.com
<Location "/">
DAV svn
SVNParentPath "/etc/subversion/repos"
Require valid-user
AuthType basic
AuthName "Subversion Repository"
AuthUserFile "/etc/subversion/repos/.user.passwd"
</Location>
</VirtualHost>