com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve
第一种:服务端和客户端的 defaultZone地址不一样导致的。 解决:如果服务端设置安全认证了 ,客户端也要加上用户名和密码,server:click:第二种:服务端没有禁用自己的注册行为 说明:在默认下,Eureka服务注册中心也会将自己作为客户端来尝试注册,所以我们要禁用它的客户端注册行为。 解决:在applicati...
·
第一种:服务端和客户端的 defaultZone地址不一样导致的。
解决:如果服务端设置安全认证了 ,客户端也要加上用户名和密码,
server:
click:
第二种:服务端没有禁用自己的注册行为
说明:在默认下,Eureka服务注册中心也会将自己作为客户端来尝试注册,所以我们要禁用它的客户端注册行为。
解决:在application.yml配置文件中增加以下内容
第三种: 开启认证了,但是没有禁用CSRF
新版本的spring-cloud2.0中: Spring Security默认开启了CSRF攻击防御
CSRF会将微服务的注册也给过滤了,虽然不会影响注册中心,但是其他客户端是注册不了的。
解决:
@Configuration
public class WebSecurityConfig {
@EnableWebSecurity
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().authenticated().and().httpBasic().and().csrf().disable();
}
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)