일부 API에서는 https://host_b:8080에 https://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에 맞춤 필터가없는 경우이 방법을 사용할 수 있습니다.
- 필터 작업에 이상이 있습니까? 이 컨트롤러를 host_a에 추가 한 후 zuul 필터의 로그가 표시되지 않습니다.
잘 작동하는 localhost로 전달하기 위해 forward 속성을 사용할 수 있다는 것을 알고 있습니다. 하지만 여하튼 host_b rest는 모두 404 에러를 낸다.
내 구현에 칠
- 을 요구 사항 - 로컬 호스트, 즉 HOST_A
http://host_a:8080/api/xyz/getall HOST_B에 칠
이 중요 - 요청에 특정 헤더를 추가하는 사용자 정의 zuul 필터를 필요 포인트 2에 설명 된대로 host_b로 라우트되기 전에. - 이미 그 위치에 있지만 로그를 볼 수는 없습니다.
경로 :
XYZ :
경로 :/API/XYZ/**
내가하여 이미zuul을 시도 무엇
, URL : 내가 접두사, 스트립 접두사를 사용하여 거의 모든 시도 http://host_b:8080/api/xyz
, 로컬 라우팅 앞으로 사용하는 경우에만 호스트의 URL, 등 아무것도 작동하지 않습니다.
나는 무시하고 있거나 뭔가를 놓치고있는 가능한 원인을 도와 줍니까?
미리 감사드립니다.
Zuul에서/trace 및/routes 페이지로 이동하여 문제를 해결해 보셨습니까? –
예, 경로 매핑이 잘된 것 같습니다. 경로를 표시합니다. 그러나 요청이 라우팅되었는지 여부를 확인하기 위해 어쨌든 있습니까? host_a의 요청에 따라 host_b url이 가리키는 URL은 무엇입니까? – hungrytolearn
> 어쨌든 요청이 라우팅되었는지 확인해야합니까? 예. /자취. –