客戶端注冊Cannot execute request on any known server解決


在對eureka注冊中心服務端添加安全驗證后,新版本springcloud出現一個問題就是,在客戶端注冊到服務中心時報了一個錯:Cannot execute request on any known server,重新仔細看了一下官方文檔Securing The Eureka Server部分得以解決。

添加安全驗證:https://www.cnblogs.com/zrk3/p/springcloud_securing_eurekaserver.html

一、官方文檔

 

 url: https://cloud.spring.io/spring-cloud-static/Finchley.SR2/multi/multi_spring-cloud-eureka-server.html#_securing_the_eureka_server

大意(英語不好,見諒):

只需通過Spring -boot-starter- security將Spring Security添加到服務路徑中,就可以保護Eureka服務。默認情況下,當Spring Security位於類路徑上時,它將要求在每次向應用程序發送請求時都發送一個有效的CSRF令牌。Eureka客戶機通常不會擁有一個有效的跨站點請求偽造令牌(CSRF),您需要禁用/ Eureka /**端點的這個請求

2、添加配置文件

在eureka服務工程中添加配置文件:

 

 

package com.zrk.config;

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;

/**
 * @Description:
 * @Author: zrk
 * @Date: 2019/9/12
 */
@EnableWebSecurity
class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().ignoringAntMatchers("/eureka/**");
        super.configure(http);
    }
}

重啟eureka服務,重啟客戶端就發現已經可以注冊成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM