首页 > 解决方案 > 如何使 feign disable-ssl-validation 属性在 Spring Boot 上工作

问题描述

我正在使用 Spring Boot 和 Feign 开发一个用于外部服务访问的微服务。我必须在测试/开发环境中访问外部服务。此环境有另一个托管在不同位置的实例。问题是这个测试 URL 没有有效的 SSL 证书,并且 feign 配置似乎失败了。

我尝试添加 application.yml 文件:

feign:
  httpclient:
    disable-ssl-validation: true

但我仍然得到同样的例外:

feign.RetryableException: No subject alternative names matching IP address someIp found executing POST https://someIp:someport/somePath

经过进一步调查,我发现这是由java.security.cert.CertificateException

这个 application.yml 配置不应该禁用 SSL 证书验证,从而避免这个异常吗?

标签: javaspring-bootssl-certificatespring-cloud-feign

解决方案


正如评论中所讨论的,我们不应以不安全的方式 (HTTP) 调用安全 (HTTPS) 服务。它不仅违反了同源策略,而且由于您调用的服务是不安全的,它有可能受到干扰并泄露您试图保持安全的所有数据。整个过程使用 HTTPS。

获取安装在调用和目标机器中的证书。这将涵盖您的整个测试周期。


推荐阅读