2016-11-15 10 views
2

줄 라우 (Zuul) 경로를 올바르게 설정하는 데 작은 문제가 있습니다. 여기에 내가 이런 Restcontroller이있는 Microservice에서 현재줄루 (Zuul) 경로 정의

zuul: 
    routes: 
    microservice: 
     path: /service/* 
     serviceId: session 
     sensitiveHeaders: Cookie,Set-Cookie,Authorization 
microservice: 
    ribbon: 
    listOfServers: localhost:8090 

이 작업은 다음과 같습니다

@RestController 
@RequestMapping("/service") 

내가 예를 들어, RestController 여러 엔드 포인트가 : 이제 때

@RequestMapping(method = { RequestMethod.GET}, value = "/service1", produces = "application/json") 

localhost:8080/service/service1과 같은 요청을 보내면 예상 엔드 포인트에 도달하지 않습니다. 요청을 localhost:8090/service1으로 라우팅합니다 (아무 것도 실행되지 않는 경우).

내가 경로에서 경로를 변경 시도이

@RestController 
@RequestMapping("/service") 

@RestController 
@RequestMapping("/") 

에 같은 컨텍스트 경로 변경하는 경우 그것은 잘 작동 :/*

에/서비스
path: /service/** 

하지만 아무런 영향이 없습니다.

다른 옵션은 필터 레벨에서 라우팅을 강제하는 것이지만 localhost:8080/service/service1을 마이크로 서비스에 직접 라우팅 할 수 있어야한다고 생각합니다. Zuul 구성에서이 작업을 수행 할 수있는 방법에 대한 제안.

내가 사용중인 대체 제품과 호환되지 않으므로 URL 옵션을 사용할 수 없습니다.

답변

1

끝내기 가장 쉬운 방법은 접두어 스트립 핑을 중지하는 것입니다. 기본적으로 활성화되어있는 것처럼 보입니다.

path: /service/** 
stripPrefix: false