Redmine Subversion 不会忽略证书错误,即使被告知

Redmine Subversion 不会忽略证书错误,即使被告知

我已经设置了Redmine通过Bitnami Redmine 堆栈我无法通过 https 访问远程 SVN 存储库。问题似乎与我没有签名的证书以及提供的证书与主机名不匹配有关(我通过多个主机名访问同一台服务器)。

我对 Ruby、Mongrel、Rails 和 Redmine 还不熟悉。

遵循此论坛主题,我改变了Redmine调用svn客户端的\apps\redmine\lib\ redmine\scm\adapters\subversion_adapter.rb路径

SVN_BIN = "svn"

SVN_BIN = "svn --trust-server-cert --non-interactive --config-dir c:/user/temp"

我希望该--trust-server-cert选项可以修复证书问题。但是,我仍然收到以下错误消息mongrel.log

svn: 选项 'https://server.xyz:8443/svn/reponame':服务器证书验证失败:为不同的主机名颁发的证书,颁发者不受信任(https://server.xyz:8443

有人知道该怎么办吗?

附加信息:

  • 每次更改后我都会重新启动 mongrel 服务

  • 我确信配置更改已生效,因为 subversion 已在中创建了完整的配置目录c:\user\temp

  • 我可以使用命令行访问远程存储库,svn没有问题

  • 远程存储库在装有 VisualSVN 的 Windows 机器上运行

答案1

我知道这是一个老问题,但它仍然是一个常见问题。简而言之,您需要让 Subversion 将服务器证书存储到正确的配置目录中。

从命令行运行以下命令:

svn --config-dir c:/user/temp info https://<url_of_subversion_repository>

您应该收到以下消息:

Error validating server certificate for https://<url_of_subversion_repository>:443':
 - 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: <url_of_subversion_repository>
 - Valid: from Thu, 10 Dec 2009 04:06:30 GMT until Tue, 09 Dec 2014 04:06:30 GMT
 - Issuer: <Cert Details>, <Cert Details>, <City>, <State>, <Country>
 - Fingerprint: <Finger Print>
(R)eject, accept (t)emporarily or accept (p)ermanently?

永久接受证书。这会将所需信息保存到您为 Redmine 指定的相同配置目录中,一切就绪了。

答案2

我通过将 subversion 服务器的主机名设置为我从 redmine 安装中查询的主机名来对其进行排序。了解如何禁用此功能仍然很有趣。

相关内容