Subversion客户端接受服务器证书出现“The certificate hostname does not match”的问题

当使用https://形式的URL链接Apache时,Subversion客户端将会受到两个类型的响应:html

一、一个服务器证书服务器

二、一个针对客户端证书的请求svn

在本人的应用场景主要涉及SVN仓库迁移的操做,须要将大量的远程仓库集中迁移到本地仓库进行管理。因此这里主要描述服务器证书相关的问题,由于须要使用脚本执行Subversion的svnrdump命令,在执行的过程当中碰到以下提示信息:命令行

Error validating server certificate for 'https://...:端口号':code

  • The certificate is not issued by a trusted authority. Use theorm

    fingerprint to validate the certificate manually!server

  • The certificate hostname does not match.htm

Certificate information:ip

  • Hostname: ..cn文档

  • Valid: from Wed, 29 Nov 2017 01:24:36 GMT until Sat, 27 Nov 2027 01:24:36 GMT

  • Issuer: CMBAUTOTEST01TS.ho18t.cmbchina.cn

  • Fingerprint: cf:1f:c4:f0:9e:a3:42:0f:75:23:50:56:54:6e:11:71:df:a7:d3:9f

(R)eject, accept (t)emporarily or accept (p)ermanently?

在这里能够看到两个错误提示,第一个错误提示能够经过在命令行中添加参数“--trust-server-cert --non-interactive”(查询svnrdump命令相关的文档)解决,第二个错误是因为hostname不相同致使的。

致使这个问题的缘由是:证书返回的Hostname是一个域名,可是验证时使用的是ip地址。

在这里使用的解决方法是:将https://链接中的ip地址替换为服务器返回的证书中的Hostname,而后在机器的hosts文件中添加ip与Hostname的关联映射。这样就能够保证脚本自动执行的过程当中不会被“Hostname does not match”中断。

关于subversion的命令说明请参考官方文档:svnbook.red-bean.com/nightly/zh/svn.ref.html
相关文章
相关标签/搜索