首页 > 解决方案 > 临时 - 无法找到到所请求目标的有效认证路径

问题描述

我们正在从 Spring 应用程序进行 graphQL 调用。我们收到以下证书异常。

我们针对我们管理的不同 Shopify 用户(每个用户由商店 ID 标识)发出此调用。graphQL 调用上的域将根据用户而变化(即,我们将在 URL 上拥有商店 ID)。我们正在为某些商店(某些域)获得以下证书例外。但是证书对于所有域都是通用的。一段时间后,我们遇到此问题的同一域不再发生此异常。

sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

如果它是永久性的,我可以将证书信息更新为 java.util. 但这仅在某些呼叫和特定时间段内发生。然后它开始为那里的失败域正常工作。

标签: javaspring-bootshopifyshopify-apphandshake

解决方案


我们在系统中添加了警报,以便在发生此故障时立即尝试本地域。然后我们在 postman 中复制了这个问题,并编写了一段代码来重现 java 网络调用并检查日志。在邮递员上,我们得到了重定向的响应。

openDNS 部署在我们的组织中,作为我们网络的额外安全层。正如我在问题描述中提到的,每个用户的部分域都会发生变化。如果 openDNS 根据其策略未在受信任的域中找到某些域并被阻止 48 小时,则会将其视为威胁。openDNS 响应来自 openDNS 服务器的阻止消息,它将具有在 java 中不存在的 openDNS 证书,从而导致证书异常。

所以,我们只看到这个失败 48 小时,然后它被 openDNS 允许。

在 openDNS 上配置了部分未更改的域以信任该域来解决此问题。


推荐阅读