前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot2中Spring Security导致Eureka注册失败

Spring Boot2中Spring Security导致Eureka注册失败

作者头像
猿天地
发布2018-04-18 11:13:10
3.4K3
发布2018-04-18 11:13:10
举报
文章被收录于专栏:猿天地猿天地

将Spring Boot升级到2.0,Spring Cloud升级到Finchley.M8时,Eureka注册就报错了

Eureka Server配置:

代码语言:javascript
复制
server.port=9011
spring.application.name=eureka-server 
spring.security.user.name=username
spring.security.user.password=pass
eureka.instance.hostname=localhost 
eureka.client.register-with-eureka=false 
eureka.client.fetch-registry=false 
eureka.client.service-url.defaultZone=http://username:pass@localhost:9011/eureka/

Eureka Client配置:

代码语言:javascript
复制
server.port=8088
spring.application.name=eureka-client 
spring.security.basic.enabled=true 
spring.security.user.name=username
spring.security.user.password=pass
eureka.instance.hostname=localhost 
eureka.client.service-url.defaultZone=http://username:pass@localhost:9011/eureka/

错误信息如下:

代码语言:javascript
复制
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 
        at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.8.6.jar:1.8.6] 
        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.8.6.jar:1.8.6] 
        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59) ~[eureka-client-1.8.6.jar:1.8.6] 
        at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.8.6.jar:1.8.6] 
        at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56) ~[eureka-client-1.8.6.jar:1.8.6] 
        at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829) ~[eureka-client-1.8.6.jar:1.8.6] 
        at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:104) [eureka-client-1.8.6.jar:1.8.6] 
        at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:88) [eureka-client-1.8.6.jar:1.8.6] 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_92] 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_92] 
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_92] 
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_92] 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_92] 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_92] 
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92

去掉Spring Security后问题解决,可以知道问题是Spring Security引起的

CSRF保护默认是开启的,可以禁用掉即可

解决方案如下:

代码语言:javascript
复制
@EnableWebSecurity
static class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
    }
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 猿天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 将Spring Boot升级到2.0,Spring Cloud升级到Finchley.M8时,Eureka注册就报错了
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档