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


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

    1、一个服务器证书

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

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

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

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

      fingerprint to validate the certificate manually!

    • The certificate hostname does not match.

    Certificate information:

    • 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
  • 相关阅读:
    Servlet开发【03】Servlet与表单|路径匹配详解
    Javascript学习的网址
    Eclipse开发Web工程步骤
    jdk环境变量配置
    Eclipse中打开html或xml卡死
    如何Eclipse中配置和使用SVN?
    Ajax
    Django 基础
    linux
    Django之ORM
  • 原文地址:https://www.cnblogs.com/mrnx2004/p/10337954.html
Copyright © 2020-2023  润新知