说说我SpringCloud微服务碰到的神奇的坑
-
最近在学微服务,学到
Eureka
注册中心的安全验证这一节时,按照文档的说法,先添加了spring-boot-starter-security
依赖,然后在配置文件中设置了账号密码,并添加配置类用来忽略服务注册时的CSRF验证package org.bkcloud.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; @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().ignoringAntMatchers("/eureka/**"); super.configure(http); } }
然后,当我的服务用账号密码注册到注册中心时,却提示
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
我花了几个小时各种改配置 ,重新启动,仍然无法解决。我甚至尝试过直接禁用CSRF防护,也没有效果。
最终,我重启IDE,重新运行程序,问题莫名其妙就解决了
总结
此次问题
- 原因:未知
- 解决方法:未知
- 感想:一脸懵逼