SVN + Apache / SSL / SSPI和大的提交/导入问题

我在Windows上使用最新的CollabNet Windows版本在Apache 2.2上运行SVN 1.6.3。 我正在使用mod_auth_sspi和mod_ssl来保护我的连接并执行授权。 在小的签到和import,我的用户没有任何问题做他们的工作。 但是,当导入或检入大量文件时 ,系统会提示用户input凭据(服务器及时拒绝),然后出现错误:

PUT of <path and filename> authorization failed: Could not authenticate to server: rejected Basic challenge (https://<my server name>) 

我们已经尝试使用命令行客户端和TortoiseSVN。

这个错误似乎与签入文件的数量有关,而不是提交的内容的总大小。 例如,如果我尝试检查90个1字节的.txt文件,导入将失败,如上所述。 这并不总是90个文件 – 我认为这与文件名的聚合大小有关。 我有这种唠叨的感觉,它SVN试图堵塞所有的文件名到一个单一的HTTP请求头或什么东西,和Apache拒绝它以某种方式。

并不是说我可以使用Wireshark检查HTTP级别的情况,因为所有事情都是通过HTTPSencryption的。 这是我的configuration文件,less了任何意见。 有没有人遇到过这个? 有什么build议么?

 ThreadsPerChild 250 MaxRequestsPerChild 0 ServerRoot "C:\Program Files\CollabNet Subversion Server/httpd" Listen 443 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule proxy_module modules/mod_proxy.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule userdir_module modules/mod_userdir.so LoadModule ssl_module modules/mod_ssl.so LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule sspi_auth_module modules/mod_auth_sspi.so LoadModule authz_svn_module modules/mod_authz_svn.so ServerAdmin localhost@localdomain ServerName sourcecontrol.mydomain.com DocumentRoot "C:\Program Files\CollabNet Subversion Server/httpd/htdocs" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all Satisfy all </Directory> <Directory "C:\Program Files\CollabNet Subversion Server/httpd/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> <FilesMatch "^\.ht"> Order allow,deny Deny from all </FilesMatch> ErrorLog logs/error.log LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog logs/access.log common </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "C:\Program Files\CollabNet Subversion Server/httpd/cgi-bin/" </IfModule> <Directory "C:\Program Files\CollabNet Subversion Server/httpd/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> DefaultType text/plain <IfModule mime_module> TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz </IfModule> <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> <Location /svn> DAV svn SVNParentPath D:\repository AuthName "Subversion repository" AuthType SSPI SSPIAuth On SSPIAuthoritative On SSPIDomain NA SSPIOfferBasic On Require valid-user SVNAutoVersioning on ModMimeUsePathInfo on AuthzSVNAccessFile "d:/repository/access-file.txt" </Location> <VirtualHost *:443 > DocumentRoot d:\repository SSLEngine On SSLCertificateFile conf/ssl.crt/server.crt SSLCertificateKeyFile conf/ssl.crt/server.key </VirtualHost> 

事实certificate,我需要添加这一行到httpd.conf(我把它添加到顶部,所以它将适用于所有目录)

 MaxKeepAliveRequests 0 

为了好的措施,我补充道

 KeepAlive On 

以防万一他们决定在下一个版本的httpd中把我全部弄清楚,并把它默认为closures。