feign.RetryableException: Unrecognized SSL message, plaintext connection? executing POST
时间: 2024-05-17 13:16:09 浏览: 253
你遇到了一个 feign.RetryableException 异常,异常信息是 "Unrecognized SSL message, plaintext connection? executing POST"。这个异常通常出现在使用 Feign 发起 POST 请求时,服务端返回的 SSL 握手消息无法识别。导致这个异常的原因可能是你的请求使用了 HTTPS 协议,但是服务端没有正确配置 SSL 证书。
解决这个问题的方法是:
1. 确保服务端正确配置了 SSL 证书。你可以联系服务端的管理员,验证 SSL 证书是否正确安装和配置。
2. 确保你的请求 URL 使用了正确的协议。如果服务端只支持 HTTP 协议而不支持 HTTPS,你需要将请求 URL 修改为 HTTP 协议。
3. 如果服务端确实要求使用 HTTPS,但是证书配置存在问题,你可以尝试忽略 SSL 验证。在 Feign 的配置类中,可以添加以下代码来禁用 SSL 验证:
```java
import feign.okhttp.OkHttpClient;
@Configuration
public class FeignConfig {
@Autowired
private OkHttpClient.Builder builder;
@Bean
public OkHttpClient okHttpClient() {
return builder.sslSocketFactory(SSLSocketFactory.getSystemDefault())
.hostnameVerifier((hostname, session) -> true)
.build();
}
}
```
请注意,禁用 SSL 验证可能会带来安全风险,请在测试环境或者明确了解风险的情况下使用。
希望这些方法能够帮助你解决问题。如果还有其他疑问,请随时提问。
阅读全文