2012年11月14日星期三

SVN - issuer is not trusted

今天部門裡的SVN Server的SSL到期,替換另一個Cert檔案之後就令到所有Repo.的post-commit hook都失效,出現錯誤訊息 :
post-commit hook failed (exit code 1) with output:
svn: E175002: Unable to connect to a repository at URL 'https://192.168.1.13:8443/svn/CMS/trunk'
svn: E175002: OPTIONS of 'https://192.168.1.13:8443/svn/CMS/trunk': Server certificate verification failed: issuer is not trusted (https://192.168.1.13:8443)



那張Cert是用OpenSSL self-signed的,所以issuer(簽發者)故然是未被信任,雖然我已經用Windows的MMC - Certificates把Cert.放置在[受信任的根憑證授權單位],但結果都是一樣。

我架設SVN Server是在Windows Server 2008上安裝VisualSVN Server,Client方面是用TortoiseSVN,Commit沒問題,只是每次當有Client Commit新版本後,Server那一方會啟動post-commit hook,執行以下SVN Command。
C:\Progra~2\Visual~1\bin\svn.exe update D:\VirtualHost\FancyWebSite\ 
--quiet --revision HEAD --no-auth-cache 
--non-interactive --username hookuser --password qwerty
用途是把HEAD版本自動更新至Apache的virtual host資料夾,其他人便可以即時瀏覽更改結果。

最後解決方法是在post-commit hook的command加上一句 -
--trust-server-cert
就解決問題了。

PS: Client 那邊的TortoiseSVN要選擇[Accept the certificate permanently]。

沒有留言:

發佈留言