连接到svn时遇到问题(400:错误请求)

Eda*_*aor 4 svn tortoisesvn dreamhost

简介: 我遇到了一些svn问题,经过"调试"一段时间之后,我不知道从哪里开始.我认为其他人之前可能遇到过这个问题.问题似乎是我在ISP使用的透明代理背后,但这并不能解释所有事实.

详细信息: 我无法将计算机连接到我自己的域中的svn存储库,该存储库位于DreamHost上.我正在使用tortoise-svn的repo浏览器进行连接,但在执行任何操作(添加文件夹,扩展源树...)后,我收到"400:错误的请求消息".

DreamHost和svn faq都说问题可能是我支持我的ISP设置的某种代理,而我没有任何控制权.问题是,我有另一个工作正常的回购.这让我有点不确定那真的是问题,因为我认为代理会停止每个 svn连接.

另一方面,我的朋友设法使用不同的ISP连接正常.

我很感激为什么会发生这种情况(只有一个回购而不是另一个回购),以及我可以从这里开始的地方.

在此先感谢您的帮助.

[编辑1]:我也尝试连接到端口81而不是80,DreamHost svn服务器似乎不接受(我得到"无法连接到服务器"错误).

[编辑2]:根据svn faq,有人建议使用https进行连接.这可能会有效,但是,我的DreamHost帐户现在没有ssl,添加它会花费我每月额外的费用.如果我没有其他选择,我可能会这样做,但如果可以的话,我宁愿找到一个不同的解决方案来降低成本.

PS我不确定是在这里发布还是在ServerFault发布,因为它是一个svn问题,我认为最容易遇到这个问题的人是程序员.

PPS如果它可以帮助任何人,我使用WireShark嗅探从我的计算机到主机的流量,最后发送的消息(来自我的机器)是这样的:

REPORT /**** HTTP/1.1
Host: svn.***.com
User-Agent: SVN/1.6.5 (r38866)/TortoiseSVN-1.6.5.16974 neon/0.28.6
Connection: TE
TE: trailers
Content-Type: text/xml
Accept-Encoding: gzip
DAV: http://subversion.tigris.org/xmlns/dav/svn/depth
DAV: http://subversion.tigris.org/xmlns/dav/svn/mergeinfo
DAV: http://subversion.tigris.org/xmlns/dav/svn/log-revprops
Content-Length: 109
Accept-Encoding: gzip
Authorization: Basic ***=

<?xml version="1.0" encoding="utf-8"?><S:get-locks-report xmlns:S="svn:" xmlns:D="DAV:"></S:get-locks-report>
Run Code Online (Sandbox Code Playgroud)

cra*_*str 5

我在TortoiseSVN网站上发现了这个: 400 Bad Request

报告请求失败'...'报告'...':400错误请求(http:// ..)

你是阻止DAV请求的防火墙的后面.大多数防火墙都这样做.请求管理员更改防火墙,或使用https://而不是http://访问存储库,如https://svn.collab.net/repos/svn/ 那样使用SSL加密连接到存储库,哪些防火墙不会干扰(如果它们没有完全阻止SSL端口).