인프런 커뮤니티 질문&답변

히힛님의 프로필 이미지
히힛

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Netflix Zuul - 프로젝트 생성 (Deprecated)

404 페이지

해결된 질문

작성

·

623

0

안녕하세요 실습중 동작이 되지 않아서 문의드립니다.

zuul server .yml 파일 및 gradle 파일

server:
  port: 8000

spring:
  application:
    name: my-zuul-service

zuul:
  routes:
    first-service:
      path: /first-service/**
      url: http://localhost:8081
    second-service:
      path: /second-service/**
      url: http://localhost:8082
plugins {
    id 'java'
    id 'org.springframework.boot' version '2.3.9.RELEASE'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

group = 'com.msa'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'


configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-zuul:2.2.3.RELEASE'

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

localhost:8081/welcome 요청시 정상적으로 오지만

localhost:8000/first-service/welcome 요청시 404 에러떠러지고 있는데 이유를 모르겠어서 문의드립니다.

 

답변 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

오류 메시지를 보면, 서버가 작동되지 않는 다는 오류가 아니라, 404 Not Found 오류이기 때문에, zuul서버와 first-service 사이의 연결은 잘 되지 않았나 싶습니다. 다만, zuul에서 필터링 된 URI 정보가 /first-service/welcome이기 때문에, firsrt-service의 controller에서도 /first-service/welcome 이라는 GetMapping이 있어야 할 것 같습니다 만약 frist-service에 그냥 /welcome 으로만 GetMapping이 선언되었다면, 위와 같은 오류가 발생할 수 있을 것 같습니다.

감사합니다.

히힛님의 프로필 이미지
히힛
질문자

답변 감사합니다

확인해보니 @EnableZuulProxy 어노테이션 설정을 빼먹었네요 ㅜㅜ 감사합니다!

히힛님의 프로필 이미지
히힛

작성한 질문수

질문하기