SpringCloud关于报错Cannot execute request on any known server

上节自己学习了SpringCloud中的服务治理包含注册中心,服务提供,这次记录一下常见的错误:

Spring Cloud Eureka配置安全验证时Client注册报错

2019-06-24 18:43:21.800  WARN 5628 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_YYC-TEST/LAPTOP-HUEO3FR1:yyc-test:8800 - registration failed Cannot execute request on any known server

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
    at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112) ~[eureka-client-1.9.8.jar:1.9.8]
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.9.8.jar:1.9.8]
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) ~[eureka-client-1.9.8.jar:1.9.8]
    at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.9.8.jar:1.9.8]
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.9.8.jar:1.9.8]
    at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829) ~[eureka-client-1.9.8.jar:1.9.8]
    at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121) [eureka-client-1.9.8.jar:1.9.8]
    at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:101) [eureka-client-1.9.8.jar:1.9.8]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_162]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_162]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_162]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_162]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_162]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_162]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_162]

2019-06-24 18:43:21.803  WARN 5628 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator     : There was a problem with the instance info replicator

 

今天配置好SpringCloudEureka并加上安全验证时,发现客户端连接不上服务器,就在网上找答案:

 

 

 

实际上此问题应注意以下几点:

 

1:由于eureka的版本过高,并且在pom文件引入了security,然后eureka高版本默认开启csrf保护,因此我们需要在eureka服务端关闭csrf校验。

package com.zhaixingzu.yyc.registry.security;

import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;


/**
 * @author Herbert
 * @date 2019/06/24
 */
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) {
        try {
            http.csrf().disable()
                .authorizeRequests()
                .antMatchers("/actuator/**").permitAll()
                .anyRequest()
                .authenticated().and().httpBasic();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

2:第二种

springcloud版本换了,springboot版本也换了,就是无解,终于把
    service-url:
      default-zone:改成了
    service-url:
      defaultZone:

 

3:检查配置信息是否正确,确认eureka交互的地址无误

欢迎关注公众号摘星族:

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: 当出现"Cannot execute request on any known server"错误时,可能是由于Spring Cloud的版本不一致引起的。根据引用\[3\]中提到的信息,您使用的是Spring Cloud的Greenwich.SR1版本和Spring Boot的2.1.5版本。这是在今年6月前最新的版本。在这个版本中,您尝试将service-url的DefaultZone地址更改为自定义的地址,如http://localhost:10240/Register/。然而,这可能导致与服务器端的地址不匹配,从而导致无法执行请求的错误。为了解决这个问题,您可以尝试将客户端的Application.yml文件中的Service-url: DefaultZone的值指定为正确的服务器端地址,确保与服务器端的地址一致。这样应该能够解决版本不一致引起的问题。 #### 引用[.reference_title] - *1* *3* [SpringCloud报Cannot execute request on any known server或者Connection refused](https://blog.csdn.net/lastmoon52/article/details/90579089)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Spring Cloud:Cannot execute request on any known server - 版本不一致问题](https://blog.csdn.net/qq_34578500/article/details/102716799)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨迹嘿嘿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值