微服务:Zuul&领事需要认证

时间:2015-11-25 11:13:46

标签: spring-cloud netflix-zuul consul

我正在尝试使用Zuul和Consul创建Spring云微服务应用程序。

我的项目中有2个组件:

  1. 使用Zuul的

  2. Hello world微服务(一个简单的hello world Rest Webservice)

  3. 以下是api-gateway的代码:

     @SpringBootApplication
     @EnableZuulProxy
     @EnableDiscoveryClient
     public class ZuulApplication {
    
     public static void main(String[] args) {
        SpringApplication.run(ZuulApplication.class, args);
      }
    
     }
    

    pom.xml

    <parent>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-parent</artifactId>
        <version>Brixton.M3</version>
    </parent>
    
    <properties>
        <java.version>1.8</java.version>
        <spring.cloud.consul.version>1.0.0.BUILD-SNAPSHOT</spring.cloud.consul.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    
    <dependencies>
    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-commons</artifactId>
        </dependency>
    
        <dependency>
            <!-- Setup Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
    
        <dependency>
            <!-- Setup Spring MVC & REST, use Embedded Tomcat -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
    
        <dependency>
            <!-- Spring Cloud starter -->
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-all</artifactId>
            <version>${spring.cloud.consul.version}</version>
        </dependency>
    
    </dependencies>
    

    application.yml

     zuul:
      routes:
        hello1:
         path: /hello1/**
         serviceId: microservice-example
    
    logging:
      level:
       org.springframework: INFO
       com.netflix: DEBUG
    

    bootstrap.yml

    spring:
      application:
        name: edge-server
    
     cloud:
       consul:
        config:
          enabled: true
          host: localhost
          port: 8500
    

    以下是hello微服务的代码:

     @SpringBootApplication
     @EnableConfigServer
     @EnableDiscoveryClient
     @RestController
     public class Application {
    
     @RequestMapping(value="/hello1",method = RequestMethod.GET)
     public String hello() {
        System.out.print("hello1");
        return "Hello1";
     }
     public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
     }
    }
    

    bootstrap.yml:    弹簧:      应用:        name:microservice-example      简介:        活跃的:原生的

     cloud:
      consul:
       config:
        enabled: true
        host: localhost
        port: 8500
    

    但是,当我测试我的服务时,浏览器需要身份验证。

    enter image description here

0 个答案:

没有答案