This server could not verify that you are authorized to access the document requested.

今天配置Apache + SVN实现通过http方式来访问svn服务器。经过在网上搜索“svn http”,得出这篇介绍还有这篇是比较全面的。于是按照上面的步骤一步步进行:

    1、打开Apache的配置文件,将dav、dav_svn模块加载进去。

    2、配置文件加入svn的location节点:<Loacation /svn>...</svn>

    3、配置svn仓库路径、权限。

    4、保存,重启Apache服务器。

    5、在浏览器输入:http://localhost/svn,期待着页面中SVN几个字符的出现......

  

    由于我在svn的Loacation节点设置了用户认证AuthUserFile,并且必须通过验证后才能访问,所以这时候弹出来个登录对话框,这也正常不过了。但是我多次输入“正确的”用户名和密码,总是提示输入验证信息不正确,连续错误三次后,直接跳转到错误页面了:Authorization Required 

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

    这是怎么回事呢?我明明在svn仓库目录下conf的passwd加入了用户名和密码设置了!又尝试了几次,发现还是如此。然后我用htpasswd命令给passwd添加了用户密码,发现能正常访问了!但是通过svn://就不行了!这是怎么回事呢?后来打开passwd文件前后对比了一下,svn仓库目录下的是未做任何处理的原始字符串,而后者却做了加密处理......都怪我没有留意,经过思考后,发现应该是这样才对:

    通过http访问的账号是Apache http验证的。

    通过svn://访问的账号是svn仓库conf目录下passwd指定的。两个是独立的认证方式。

    于是按图索骥赶紧生成Apache http授权文件。产生方式:
    在命令行模式下,进入到.../apache/apache2/conf/目录下,运行下面的命令:

    bin/htpasswd -mc passwd <username>       #提示输入用户密码

 

    最后在Apache配置文件svn的location段中指定AuthUserFile的文件为刚才生成的授权文件。然后打开浏览器输入url->弹出登陆框->输入用户名密码,嘿,可以正常访问了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值