我正在使用websvn与远程存储库。 该存储库使用https协议。 在configurationwebsvn之后,我进入websvn网页:
svn --non-interactive --config-dir /tmp list --xml --username '***' --password '***' 'https://scm.gforge.....' OPTIONS of 'https://scm.gforge.....': Server certificate verification failed: issuer is not trusted
我不知道如何指示websvn执行svn命令来接受和存储证书。 有人知道怎么做吗?
更新:
有用! 为了使组织得当,我已经更新了WebSVNconfiguration文件,将subversion config目录重定位到debian的默认path/ etc / subversion :
$config->setSvnConfigDir('/etc/subversion');
在/ etc / subversion / servers中,我创build了一个组,并将证书关联到信任:
[groups] my_repo = my.repo.url.to.trust [global] ssl-trust-default-ca = true store-plaintext-passwords = no [my_repo] ssl-authority-files = /etc/apache2/ssl/my.repo.url.to.trust.crt
你有两种可能的方法可以解决这个问题。
选项1:
su到用户websvn正在运行并执行svn log https://your.secure.repo.com/repo/针对目标服务器。 然后Subversion应该要求你接受这个证书,你可以select永久这样做。 那么证书可以使用。
选项2:
再次,作为websvn进程运行的用户,编辑〜/ .subversion / servers并添加到[global]部分;
ssl-authority-files = /home/websvn/ssl/CAcert1.pem
如果你的东西很快,那么选项1是使用的,否则选项二
更正
正如在命令中指出的那样,svn正在使用–config-dir选项来调用。 这意味着Subversion将会期望它的configuration位于该目录中,在这种情况下是/ tmp。 因此,将服务器和configuration从〜/ .subversion /复制到/ tmp目录,Subversion客户端将使用这些。
还有第三个更简单的选项。 可以将websvnconfiguration为信任所有服务器证书。 在include/config.php添加或取消注释以下行:
$config->setTrustServerCert();