zoukankan      html  css  js  c++  java
  • Spring Boot2中Spring Security导致Eureka注册失败

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

    Eureka Server配置:

    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配置:

    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/
    

    错误信息如下:

    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保护默认是开启的,可以禁用掉即可

    解决方案如下:

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

    更多技术分享请关注微信公众号:猿天地



    作者:尹吉欢
    链接:https://www.jianshu.com/p/562b5df44077
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
     
     
  • 相关阅读:
    HttpWebRequest 的一个 异步封装
    AcWing 6 多重背包问题III【单调对列优化】
    AcWing 8. 二维费用的背包问题
    AcWing 1019. 庆功会
    P1421 小玉买文具
    P5709 【深基2.习6】Apples Prologue / 苹果和虫子
    P2181 对角线
    AcWing 1020. 潜水员
    AcWing 1013. 机器分配【分组背包+求方案数】
    AcWing 7. 混合背包问题
  • 原文地址:https://www.cnblogs.com/softidea/p/9634314.html
Copyright © 2011-2022 走看看