【问题标题】:Redmine 2.3.2 svn HTTPs Server SSL certificate untrustedRedmine 2.3.2 svn HTTPS 服务器 SSL 证书不受信任
【发布时间】:2013-08-27 15:15:25
【问题描述】:

我做了如下配置:

  1. 在 Centos 6.4 中,我安装了 redmine 2.3.2、apache2 乘客模块和 SVN 1.7.11。我配置为在 apache 上运行 redmine,到目前为止一切正常。

  2. 在 Windows server 2008 中,我安装了与 SVN 1.7 兼容的 VisualSVN Server。到目前为止一切正常。

  3. 当我尝试将安装在 windows 服务器上的 svn 与安装 redmine 的 Centos 集成时出现问题,我收到错误:

    svn: E230001: 无法连接到位于 URL 'https://xxx.xxx.x.xxx/svn/myrepo' 的存储库

    svn: E230001: 服务器 SSL 证书不受信任

我已将证书永久保存到文件夹中 /var/www/svn

我指向了永久设置文件 /var/www/redmine/lib/redmine/scm/adapters/subversion_adapter.rb 中的证书

def credentials_string
 str =''
 str << "- config-dir /var/www/svn - username # {shell_quote (@ login)}" unless@login.blank?
 str << "- password # {shell_quote (@ password)}" unless@login.blank? | | @ Password.blank?
 str << "- trust-server-cert - no-auth-cache - non-interactive"
 str 
end

并且点击redmine仓库的时候会出现上面的异常。

我该如何解决这个问题?有什么想法吗?

【问题讨论】:

  • VisualSVN 服务器版本是多少?
  • VisualSVN-Server-2.6.4

标签: apache svn ssl


【解决方案1】:

经过多次测试,我发现问题出在apache上,即通过3000运行命令ruby script / rails server webrick-e production可以正常工作,但是当通过apache运行时出现上述错误。如何在apache中修复它?

问题解决了。进行了以下设置

  1. 文件 /var/www/redmine/lib/redmine/scm/adapters/subversion_adapter.rb

    def credentials_string
     str = ''
     str << " --username #{shell_quote(@login)}" unless @login.blank?
     str << " --password #{shell_quote(@password)}" unless @login.blank? || @password.blank?
     str << " --no-auth-cache --non-interactive --config-dir /tmp/subversion_config"
     str
    end
    
  2. 为了永久接受证书,我就这样做了:

    svn ls --config-dir /tmp/subversion_config --config-option config:auth:store-auth-creds=yes https://xxx.xxx.x.xxx/svn/myrepo/

  3. 添加权限文件夹:

    chown-R apache: apache /tmp/subversion_config

  4. 参考资料:

    http://www.redmine.org/projects/redmine/wiki/Redmine_203_with_Subversion_and_LDAP_Authentication_(for_Redmine_and_Subversion_through_Redmine)_on_Centos_6_i386_-_detailed

    http://www.redmine.org/issues/787

【讨论】:

    【解决方案2】:

    确保 VisualSVN 服务器上的证书与其主机名匹配(区分大小写)! --trust-server-cert 不会自动接受具有不匹配主机名的证书,因为它被认为是不安全的。

    【讨论】:

    • 我已经做了这个检查,如果我通过windows正常运行,问题是通过linux redmine访问windows证书
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2020-11-14
    • 2016-11-03
    • 2018-04-03
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多