CentOS 使用SVN https 问题及解决方案

在CentOS上,当尝试通过HTTPS访问SVN时遇到SSL握手失败的问题。已安装的SVN显示支持HTTPS,但仍然报错。解决方案包括在Linux下安装软件包,具体涉及源码安装neon、apr、apr-util和subversion,以及在Windows环境中修改VisualSVN的证书以使其兼容Linux。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS下svn 访问Https问题及解决方案

                 (相关软件请到我的资源库下载)

公司电脑紧张,于是打算将SVN服务器和数据库服务器合并为一个,因为SVN服务器是一个集成网卡,且没有多余的网卡插槽,但数据库服务器需要双网卡。因此决定将SVN信息搬移到数据库服务器上。

因此责令运维部在数据库服务器上进行SVN服务器的构建和数据迁移,但迁移完毕之后,SVN的访问路径也变更为更为安全的https访问模式了,于是,急速在Linux测试环境下进行数据路径重新指定和更新,

却发现测试不能使用了,报出如下错误:

[root@localhost]$ svn checkout https://192.168.0.202/svn/WorkingSvn

svn: 方法 OPTIONS 失败于 https://192.168.0.202/svn/WorkingSvn: SSL handshake failed: SSL 错误:Key usage violation in certificate has been detected. ( https://192.168.0.202)

第一反应是Linux下的svn没有安装https协议的包,于是使用命令svn –version 进行查看,结果发现已经装了,如下所示:

[root@localhost EtCore]# svn--version

svn,版本 1.6.11 (r934486)

  编译于 Aug 17 2015,08:37:43

 

版权所有 (C) 2000-2009 CollabNet。

Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。

此产品包含由 CollabNet(http://www.Collab.Net/)开发的软件。

 

可使用以下的版本库访问模块:

 

* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。

 - 处理“http”方案

 - 处理“https”方案

* ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证

 - 处理“svn”方案

* ra_local : 访问本地磁盘的版本库模块。

 - 处理“file”方案

怎么回事,装上了也不起作用?什么原因呢?于是网上查找资料,发现遇到这个问题的人还真不少,解决方案也有几个,但不够健全,于是,进行了一番参考摸索之后,得出了两种解决方案:

方案一:(Linxu下安装软件包)

下载如下软件:

wgethttp://www.webdav.org/neon/neon-0.29.6.tar.gz

 wgethttp://www.sqlite.org/sqlite-amalgamation-3.6.22.tar.gz

 wgethttp://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz

 wgethttp://mirror.esocc.com/apache//apr/apr-1.5.2.tar.gz

 wget http://mirror.esocc.com/apache//apr/apr-util-1.5.4.tar.gz

第一步:使用命令tar –zxvf 解压指定的文件如下:

[root@localhost home]# tar -zxvfneon-0.29.6.tar.gz

[root@localhost home]# tar -zxvfapr-1.5.2.tar.gz

[root@localhost home]# tar -zxvf apr-util-1.5.4.tar.gz

[root@localhost home]# tar -zxvfsubversion-1.6.9.tar.gz

[root@localhost home]# tar -zxvfsqlite-amalgamation-3.6.22.tar.gz

第二步:对各种文件按如下顺序进行源码安装

源码安装neon

[root@localhost home]# cdneon-0.29.6

[root@localhost neon-0.29.6] ./configure--with-ssl --with-libs=/usr/lib64/openssl/ --prefix=/usr/local/neon(注意:添加 –with-ssl –with-libs,这很重要)

[root@localhost neon-0.29.6] make

         [root@localhost neon-0.29.6] makeinstall;

源码安装apr

[root@localhosthome]# cd apr-1.5.2

[root@localhost apr-1.5.2]  ./configure

[root@localhost apr-1.5.2] make

[root@localhost apr-1.5.2] make install

源码安装apr-util

[root@localhosthome]# cd apr-util-1.5.4

[root@localhost apr-util-1.5.4]    ./configure –with-apr=/usr/local/apr

[root@localhost apr-util-1.5.4]    make

[root@localhost apr-util-1.5.4]    make install

搬移解压之后的Sqlit到Subversion中;

[root@localhosthome] #cd subversion-1.6.9

[root@localhost subversion-1.6.9] mv sqlite-amalgamation-3.6.22/*  ./sqlite-amalgamation/

安装subversion

[root@localhost subversion-1.6.9] ./configure --with-ssl --with-neon=/usr/local/neon--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr 

[root@localhost subversion-1.6.9] make

[root@localhost subversion-1.6.9] make install

完毕之后即可使用svn checkout https://*********/ --username ***命令了

方案二(Windows forLinux)

信息来源:http://www.visualsvn.com/support/topic/00056/

错误原因是windows使用的证书linux不能识别。

改正方法是:修改服务器上visualsvn使用的证书为第三方产生的证书,以便windows和linux都能识别。

过程

1.    Add the following registry value to the Windows registry:(我的是32位)

o   for 32-bit system:(运行regedit->找到下面的注册表项->增加一个dword类型的值)

o    [HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVNServer]

o    "CreateGnuTLSCompatibleCertificate"=dword:00000001

     

o   for 64-bit system:

o    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VisualSVN\VisualSVNServer]

o    "CreateGnuTLSCompatibleCertificate"=dword:00000001

     

2.    Start VisualSVN Server Manager.(打开virsualSVN server)

3.    Go to Action | Properties | Certificate.

4.    Click Change certificate... and follow the wizard instructionsto generate a new self-signed certificate.

再次执行svn,会提示证书生成者不受信赖的警告,选择永久接受即可。

这样问题就解决了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值