我正在尝试将 Apache 配置为允许只读访问,并在您来自本地网络(10.*)时要求用户写入 SVN 存储库,但除非从外部网络登录,否则不允许任何访问。
我有点理解 Order、Deny、Allow 和 Limit 指令是如何工作的,但我不知道是否有可能/如何将它们结合起来以达到预期的结果。
<Location /svn>
# Set mod_dav_svn settings
DAV svn
SVNListParentPath on
SVNParentPath /mnt/svn
AuthzSVNAccessFile /mnt/svn/.authz
# Set Authentication
AuthType Basic
AuthName "Auth Realm"
AuthUserFile /mnt/svn/.htpasswd
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 10.0.0.0/8
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
Satisfy Any
</Location>
我知道这将允许所有访问任何本地流量,但在尝试从外部流量写入时要求登录。这接近我想要的。非常感谢您对阅读内容的任何帮助或建议。