[SPRING] HATEOAS를 프록시 뒤에 설정하는 방법은?
SPRINGHATEOAS를 프록시 뒤에 설정하는 방법은?
내 데이터로 Hateoas와 Spring 데이터 나머지가 있습니다. 그것은 프록시 뒤에 있습니다.
백엔드 URL : backend.com
프록시 URL : proxy.com
프록시 URL을 쿼리하면 http://proxy.com/items/1에서 href 링크를 사용하여 도메인 backend.com에 대한 응답을받습니다. 도메인이 proxy.com이어야합니다.
해결법
-
==============================
1.프록시가 backend.com에 전달 된 요청에 X-Forwarded-Host : proxy.com 헤더를 추가하는지 확인하십시오. 그러면 Spring Hateoas는 자동으로 proxy.com과 링크 href를 생성합니다.
프록시가 backend.com에 전달 된 요청에 X-Forwarded-Host : proxy.com 헤더를 추가하는지 확인하십시오. 그러면 Spring Hateoas는 자동으로 proxy.com과 링크 href를 생성합니다.
X-Forwarded-Host는 포트를 포함 할 수 있습니다.
또한 지원되는 다른 X-Forwarded- * 헤더도 참조하십시오.
-
==============================
2.Spring-Boot 2.1 / Spring 5.1에서, Spring은 Spring HATEOAS에서 Spring MVC로 X-Forwarded- *를 처리하는 책임을 바꾼다.
Spring-Boot 2.1 / Spring 5.1에서, Spring은 Spring HATEOAS에서 Spring MVC로 X-Forwarded- *를 처리하는 책임을 바꾼다.
https://jira.spring.io/browse/SPR-16668
이제 필터 빈의 등록이 필요합니다.
최소 구현 :
@Bean FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() { FilterRegistrationBean<ForwardedHeaderFilter> bean = new FilterRegistrationBean<>(); bean.setFilter(new ForwardedHeaderFilter()); return bean; }
from https://stackoverflow.com/questions/30020188/how-to-configure-spring-hateoas-behind-proxy by cc-by-sa and MIT license