복붙노트

[SPRING] HATEOAS를 프록시 뒤에 설정하는 방법은?

SPRING

HATEOAS를 프록시 뒤에 설정하는 방법은?

내 데이터로 Hateoas와 Spring 데이터 나머지가 있습니다. 그것은 프록시 뒤에 있습니다.

백엔드 URL : backend.com

프록시 URL : proxy.com

프록시 URL을 쿼리하면 http://proxy.com/items/1에서 href 링크를 사용하여 도메인 backend.com에 대한 응답을받습니다. 도메인이 proxy.com이어야합니다.

해결법

  1. ==============================

    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. ==============================

    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;
    }
    
  3. from https://stackoverflow.com/questions/30020188/how-to-configure-spring-hateoas-behind-proxy by cc-by-sa and MIT license