今天來(lái)講講Subversion的SSL連接。如果沒(méi)有SSL相關(guān)的基礎知識,請先自行參閱相關(guān)資料。
接著(zhù)輸入bin\openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000
這樣會(huì )生成一個(gè)在4000天后過(guò)期的用剛剛生成的私匙簽名過(guò)的x509證書(shū)。
最后輸入bin\openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
這一步是生成了DER格式的證書(shū),對于那些不能識別PEM格式證書(shū)的程序,可以使用這種證書(shū)。如圖:
最后把在$\Apache Group\Apache2目錄下生成的my-server.der.crt, my-server.csr, my-server.key, .rnd, privkey.pem, my-server.cert6個(gè)文件復制到conf/ssl下,如果ssl這個(gè)目錄不存在,請先新建這個(gè)目錄。Ok,大功告成,請在瀏覽器地址欄輸入https://youserver/svn/TestRepository/,看到了什么?呵呵,是不是比較有成就感呢?看看我自己生成的證書(shū):
然后是證書(shū)的詳細信息:
注意:以上3和4步驟可以不更改,改不改完全都是個(gè)人喜好,如果不改,那么在第9個(gè)步驟里面相關(guān)的命令需要做相應的修改。另外,設置了SSL加密連接以后,通過(guò)https://youserver/svn 不會(huì )再顯示所有的repository列表了,而是顯示沒(méi)有權限訪(fǎng)問(wèn)。而通過(guò)http://youserver/svn訪(fǎng)問(wèn)就可以。我懷疑是昨天寫(xiě)的那個(gè)php腳本有些問(wèn)題,沒(méi)有使用相關(guān)的SSL協(xié)議訪(fǎng)問(wèn)相關(guān)路徑,如果有時(shí)間我會(huì )考慮使用python再次實(shí)現。不知道我想的對不對,哪位大俠指教一下?
注意:IIS和Apache的SSL連接會(huì )有沖突,具體表現在它們都會(huì )嘗試使用443作為https協(xié)議的端口,我在MS的網(wǎng)站上找到了一篇KB文章,說(shuō)是改注冊表可以關(guān)閉ssl服務(wù),我試了一下,似乎不行,在IIS的控制面板里面更改SSL端口選項是灰色不可選,哪位有好的辦法?
聯(lián)系客服