博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud(Finchley.SR2) Eureka注册时候提示Cannot execute request on any known server
阅读量:4041 次
发布时间:2019-05-24

本文共 3102 字,大约阅读时间需要 10 分钟。

在搭建SpringCloud(Finchley.SR2) Eureka 服务端和客户端环境时,在添加了验证功能,SpringSecurity,客户端在注册到服务端时候,会出现下面的异常

com.netflix.discovery.DiscoveryClient    : DiscoveryClient_PROVIDER/10.100.20.50:provider:9711 - registration failed Cannot execute request on any known servercom.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.3.jar:1.9.3]	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.9.3.jar:1.9.3]	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) ~[eureka-client-1.9.3.jar:1.9.3]	at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.9.3.jar:1.9.3]	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.9.3.jar:1.9.3]	at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829) ~[eureka-client-1.9.3.jar:1.9.3]	at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121) [eureka-client-1.9.3.jar:1.9.3]	at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:101) [eureka-client-1.9.3.jar:1.9.3]	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_161]	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) [na:1.8.0_161]	at java.util.concurrent.FutureTask.run(FutureTask.java) [na:1.8.0_161]	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_161]	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_161]	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_161]	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_161]	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_161]

服务端配置文件

spring:  application:    name: eureka-server  security:    user:      name: root      password: root

客户端配置

server:  port: 9711eureka:  instance:    # 指定当profile=provider1时,主机名是provider9711    hostname: provider9711    prefer-ip-address: true  client:    serviceUrl:      # 将自己注册到eureka1,2Eureka上面去,      defaultZone:  http://root:root@eureka1:9701/eureka/

原因是SpringCloud(Finchley.SR2)以上版本默认开启的csrf验证,

解决方案是重写配置文件

@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter {    @Override    protected void configure(HttpSecurity http) throws Exception {        http.csrf().disable();        super.configure(http);    }}

还有一种情况Eureka 服务端也会出现

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

 

eureka.client.register-with-eureka=trueeureka.client.fetch-registry=true

只需将上面的配置改成false



 

转载地址:http://bhmdi.baihongyu.com/

你可能感兴趣的文章
UIView的深入研究《转》
查看>>
29句最常用的英语谚语——管理…
查看>>
iSecret 用户反馈专用
查看>>
NSDateComponents 的基本使用以及…
查看>>
我的处女贴: UITableView reloadDa…
查看>>
Operation Queue(Obj-C中并发的…
查看>>
iOS 开发资源汇总《转》
查看>>
iOS push 相关知识备忘
查看>>
Mysql导入导出.sql文件《转》
查看>>
Mysql for MacOSX 安装和基本操作
查看>>
MAC 系统的启动过程和系统启动时运…
查看>>
svn 常用命令《转》
查看>>
Linux中的环境设置PATH与exp…
查看>>
Improved logging in Objective-C …
查看>>
ShareKit 分享到FaceBook, Twitter…
查看>>
Facebook Share iOS Tutorial
查看>>
判断系统版本(用宏,非UIDevice)以…
查看>>
unsigned int的最大值及int的最大…
查看>>
Property List 支持的数据类型(us…
查看>>
Shell编程基础《转》
查看>>