我有一个带有配置的Eureka服务器
# Eureka configuration
eureka.instance.hostname: localhost
eureka.client.registerWithEureka: false
eureka.client.fetchRegistry: false
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
此外,在启用Eureka Discovery的情况下运行客户和订单的两个微服务。我想在客户微服务中访问Orders微服务,但是eureka没有发现订单微服务。
在我的两种服务中,安全都是通过这种方式实现的
@Configuration
@EnableResourceServer
public class OAuth2ResourceServerConfig extends ResourceServerConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http.cors().and().csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and().authorizeRequests().antMatchers("/api/**").authenticated()
.and().authorizeRequests().antMatchers("/swagger-ui.html").permitAll()
.and().authorizeRequests().antMatchers("/**").authenticated();
}
}
答案 0 :(得分:0)
似乎您缺少@EnableDiscoveryClient客户端注释。通常与@SpringBootApplication一起使用。
@EnableDiscoveryClient激活Netflix Eureka DiscoveryClient实施。还有其他实现 其他服务注册表,例如Hashicorp的Consul或Apache Zookeeper。
参考:https://spring.io/guides/gs/service-registration-and-discovery/