我在 Debian Squeeze 系统上运行 subversion,使用 Apache2 和 mod_dav 使用网络浏览器查看内容。
我想强制使用 TLS,这样就无法从连接中读取登录数据和 SVN 内容。
我已尝试以下操作:
<Location /svn>
DAV svn
SVNParentPath /daten/subversion/
# our access control policy
AuthzSVNAccessFile /daten/subversion/access_control
# try anonymous access first, resort to real
# authentication if necessary.
Satisfy Any
Require valid-user
# how to authenticate a user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /daten/subversion/.htpasswd
# Test
SSLRequireSSL
RewriteEngine On
RewriteCond %{SERVER_PORT} !443
RewriteRule ^svn/(.)$ https://www.viathinksoft.de/svn/$1 [R,L]
</Location>
在文件 /etc/apache2/conf.d/subversion.conf
唉,这不管用。没有重定向,并且仍然有一个 HTTP 请求在 /svn/(projectname)/(somefolder) 上工作。
此 SSL 强制策略应适用于 - 使用 Web 浏览器查看内容 - 使用 TurtoiseSVN 客户端检索内容 - 使用 TurtoiseSVN 客户端提交内容
你能帮我么?
问候 Daniel Marschall
答案1
您需要VirtualHost
为 SSL 设置单独的密码。非 SSL 密码VirtualHost
应该仅有的有重写,而不是 Dav 或任何其他东西(但你不需要将它包装在<Location>
块中)。
将<Location>
块(不包含重写)完全移入 SSL VirtualHost
。