FeignClient调用https接口忽略证书,禁用SSL证书验证,不推荐在生产环境中使用
主要配置
feign:
httpclient:
enabled: true
disable-ssl-validation: true
其他相关配置,可不配
feign:
hystrix:
enabled: true
httpclient:
enabled: true
disable-ssl-validation: true
max-connections: 200
max-connections-per-route: 50
ssl:
verification:
enabled: false
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 5000
hystrix.enabled: true
这个配置项启用了Feign对Hystrix的支持。Hystrix是一个用于处理分布式系统的延迟和容错的开源库。通过启用Hystrix,Feign可以自动地为你的服务调用提供断路器模式,当服务调用失败率达到一定阈值时,断路器会“跳闸”并阻止进一步的请求,直到服务恢复。
HttpClient 配置
- httpclient.enabled: true:这个配置项指定了Feign将使用Apache HttpClient作为其底层的HTTP客户端,而不是默认的JDK HttpURLConnection。
- httpclient.disable-ssl-validation: true:这个配置项禁用了SSL证书验证。这通常用于开发环境或测试环境,以绕过SSL证书的问题,但强烈不推荐在生产环境中使用,因为它会使你的应用容易受到中间人攻击(MITM)
- httpclient.max-connections: 200:这个配置项设置了HttpClient连接池的最大连接数。这意味着HttpClient将允许同时打开最多200个连接。
- httpclient.max-connections-per-route: 50:这个配置项设置了HttpClient对单个路由(即,具有相同目标主机和端口的请求)的最大连接数。这有助于控制对特定服务的并发请求数。
SSL 验证配置
ssl.verification.enabled: false:这个配置项实际上在标准的Feign或Spring Cloud OpenFeign配置中可能不是直接支持的。它可能是特定于某个项目或框架的自定义配置,或者是某个扩展库(如Spring Cloud Gateway)的配置项。 这个配置项的目的是禁用SSL验证,这与httpclient.disable-ssl-validation: true的作用相似,但应用于更广泛的SSL相关配置。