【问题标题】:VersionOne Bugzilla Integration "Validation Failed"VersionOne Bugzilla 集成“验证失败”
【发布时间】:2020-05-01 20:43:39
【问题描述】:

我正在尝试设置 VersionOne-Bugzilla 集成工具 (https://community.versionone.com/VersionOne_Connect/Supported_Integrations/VersionOne_Integration_for_Bugzilla_5.0_and_Above),但在尝试设置 ServiceHost 配置时遇到了一个问题。在 Bugzilla 服务设置选项卡上,我无法成功验证。这是我的错误消息的图片,下面是我正在输入的内容:

Bugzilla URL:https://:/xmlrpc.cgi

用户名:

密码:

上面的 URL(没有附加 xmlrpc)将我带到 Bugzilla。顺便说一句,这不是新安装,我们已经使用了一段时间。我之前也使用了这种相同的格式,并附加了 /rest 来成功调用 REST API。我还测试了使用该用户手动登录并很好。 在文档中,URL 示例显示附加“/rest”而不是“/xmlrpc.cgi”,这也没有验证(检查或不检查忽略证书)。直到我从 2 天前下载了最新版本并尝试使用更新版本时,我才看到附加了“/xmlrpc.cgi”。在配置文件中看到这一点并在文档中看到该工具需要为 RPC 设置 Bugzilla 后,我继续研究它,发现我在 Bugzilla 中缺少一些用于 RPC 的模块。我安装了以下四个:

SOAP-精简版

XMLRPC-Lite

JSON-RPC

测试污点

为 Bugzilla 运行 checksetup.pl 显示所有 4 个都已找到。之后,我使用这里的工具(https://docs.devzing.com/bugzilla-xml-rpc-client/)测试了一个版本调用,结果如下:

现在我很困惑。我已经验证用户可以访问 Bugzilla,并且我已经安装了可选的 RPC 模块 + 验证了对 Bugzilla 的 XMLRPC 调用有效,但 ServiceHost 工具仍然无法验证。我错过了什么/做错了什么?此验证尝试是否记录在任何地方以获取更多信息? 谢谢!

更新:在尝试使用 Fiddler 进行一些跟踪后,我对 Fiddler 设置进行了调整以处理 HTTPS。完成后,只要 Fiddler 跟踪流量,验证就会成功。少于这些选项和验证仍然会失败。当我关闭 Fiddler 并尝试再次验证时,它失败了。该工具对 HTTPS 的处理似乎存在一些问题。另请注意,我确实切换回在 URL 中使用“/rest”和“忽略证书”,但仅这些并没有解决问题,正如我之前所说的那样,我已经尝试过这些并且它们不是唯一的解决方案。我可以对 ServiceHost 工具进行一些更改以使其在没有 Fiddler 的情况下正常运行吗?

【问题讨论】:

    标签: xml-rpc bugzilla servicehost versionone


    【解决方案1】:

    如果您能够配置您的集成以通过 fiddler 使用,请使用它并保存您的配置。该工具显然错误地处理了您连接到 Bugzilla 实例的尝试并给出了误报。 VersionOne.Servicehost.exe.config 的目标只是一个 xml 文件,其中包含在服务主机工具中输入的配置。

    配置后,保存配置并尝试运行 servicehost 可执行文件,该可执行文件会读取文件并尝试连接到您的 Bugzilla 实例。它应该运行正常。密切关注错误日志文件 (servicehost.log) 和控制台中的错误。要获取详细日志记录,请打开 VersionOne.ServiceHost.exe.config,然后找到“"Info" 的两个实例并将其替换为“Debug”。您很少会使用配置工具。如果这个解决方法还不够,代码在这里

    https://github.com/versionone/VersionOne.Integration.Bugzilla

    最后一点。谨防!备份您的工作配置。在某些情况下,在手动破解 xml 后使用 servicehost 工具可能会覆盖您的内容。

    【讨论】:

      【解决方案2】:

      问题最终是 OpenSSL 已经过时,需要从我们旧的 0.9.8 版本升级到 1.0.1+。在 1.0.1+ 中,他们增加了对 TLS v1.1 和 v1.2 的支持。

      升级非常顺利(注意这是在 Windows Server 上)。我需要替换 2 个 DLL:libeay32 和 ssleay32,以及 Apache bin 文件夹中的 openssl 可执行文件。正如马克欧文在他的回复中所说,请确保您事先备份您将要更改的任何内容。完成后,我在尝试让 Apache/OpenSSL 备份并运行时遇到了一个错误,那就是我在新版本的 OpenSSL 中缺少一个新需要的 DLL。从 Microsoft 网站下载并安装后,Apache 再次顺利运行,我现在无需 Fiddler 即可在该工具中完成与 Bugzilla 的连接。

      来自 telerik.com,这就是 Fiddler 成功的原因:

      运行 Fiddler 可以解决此类问题,因为默认情况下,Fiddler 在与 HTTPS 服务器通信时仅使用 SSLv3.0 和 TLSv1.0,避免了旧服务器上出现的兼容性问题。如果您的计算机安装了 .NET Framework v4.5,则可以将 Fiddler v4 配置为尝试使用 TLS/1.1+,这将导致与 Fiddler 不存在时相同的连接失败。

      要解决此问题,请在客户端禁用 TLS/1.1+,或者更好的是,让服务器操作员升级他们的软件以支持 TLS 标准。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-21
        • 1970-01-01
        • 1970-01-01
        • 2015-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-17
        相关资源
        最近更新 更多