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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM