SpringBoot:Eureka服务器未发现OAuth2安全微服务

时间:2018-08-02 10:25:14

标签: spring-boot microservices netflix-eureka

我有一个带有配置的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();
    }
}

1 个答案:

答案 0 :(得分:0)

似乎您缺少@EnableDiscoveryClient客户端注释。通常与@SpringBootApplication一起使用。

  

@EnableDiscoveryClient激活Netflix Eureka   DiscoveryClient实施。还有其他实现   其他服务注册表,例如Hashicorp的Consul或Apache Zookeeper。

参考:https://spring.io/guides/gs/service-registration-and-discovery/