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
相關文章
相關標籤/搜索