java - 如何使 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 证书验证,从而避免这个异常吗?
解决方案
正如评论中所讨论的,我们不应以不安全的方式 (HTTP) 调用安全 (HTTPS) 服务。它不仅违反了同源策略,而且由于您调用的服务是不安全的,它有可能受到干扰并泄露您试图保持安全的所有数据。整个过程使用 HTTPS。
获取安装在调用和目标机器中的证书。这将涵盖您的整个测试周期。
推荐阅读
- sql-server - SSIS 在本地运行但在服务器上失败
- java - 泛型:将类型参数标记为接口,以便其他类型参数可以扩展它
- excel - 使用宏根据值的更改复制和粘贴到新工作簿
- c# - Restsharp SimpleAuthenticator
- python-3.x - 使用 Python 发送时,Office365 消息加密会去除电子邮件附件
- react-admin - 如何在 react-admin DataGrid 中进行分组
- c# - 以继承的类作为参数类型覆盖抽象方法
- java - 基于Java中的字段将csv文件拆分为多个文件
- c# - 如何在层之间传输异常?
- 3dsmax - Maxscript splineOps.startTrim