0

일부 API에서는 https://host_b:8080https://host_a:8080에서 실행중인 ng4 + 부팅 응용 프로그램과 백엔드 서비스가있는 곳에서 작업하고 있습니다.Zuul 라우팅이 작동하지 않습니다. 404 : Spring Boot + Cloud + Zuul

저는 두 호스트에서 모두 RestController/Path를 사용하고 있습니다. 즉, localhost (host_a)와 host_b를 다른 URL로 치기위한 URL이 필요합니다.

application.yml에서 저는 거의 모든 가능한 Zuul 경로 조합을 시도했지만 모든 host_b rest API에 대해 404를 얻었습니다. Host_a API가 잘 작동합니다.

참고 : host_a에 휴식 API가없고 host_a에 맞춤 필터가없는 경우이 방법을 사용할 수 있습니다.

  1. 필터 작업에 이상이 있습니까? 이 컨트롤러를 host_a에 추가 한 후 zuul 필터의 로그가 표시되지 않습니다.

잘 작동하는 localhost로 전달하기 위해 forward 속성을 사용할 수 있다는 것을 알고 있습니다. 하지만 여하튼 host_b rest는 모두 404 에러를 낸다.

내 구현에 칠

  1. http://host_a:8080/api/abc/user

    을 요구 사항 - 로컬 호스트, 즉 HOST_A

  2. http://host_a:8080/api/xyz/getall HOST_B에 칠

  3. 이 중요 - 요청에 특정 헤더를 추가하는 사용자 정의 zuul 필터를 필요 포인트 2에 설명 된대로 host_b로 라우트되기 전에. - 이미 그 위치에 있지만 로그를 볼 수는 없습니다.
        경로 :
            XYZ :
                경로 :/API/XYZ/**
    내가하여 이미

    zuul을 시도 무엇

   ,      URL : 내가 접두사, 스트립 접두사를 사용하여 거의 모든 시도 http://host_b:8080/api/xyz

, 로컬 라우팅 앞으로 사용하는 경우에만 호스트의 URL, 등 아무것도 작동하지 않습니다.

나는 무시하고 있거나 뭔가를 놓치고있는 가능한 원인을 도와 줍니까?

미리 감사드립니다.

+0

Zuul에서/trace 및/routes 페이지로 이동하여 문제를 해결해 보셨습니까? –

+0

예, 경로 매핑이 잘된 것 같습니다. 경로를 표시합니다. 그러나 요청이 라우팅되었는지 여부를 확인하기 위해 어쨌든 있습니까? host_a의 요청에 따라 host_b url이 가리키는 URL은 무엇입니까? – hungrytolearn

+0

> 어쨌든 요청이 라우팅되었는지 확인해야합니까? 예. /자취. –

답변

0

마지막으로 문제를 해결할 수있었습니다.
1.
은 내가 아니라 지금 999

작품 1 ~ @RestController
2. 변경 Zuul 필터 순서를 튀어 저지 @Path을 변경했다.

관련 문제