응답 위치 헤더 속성을 변경하기 위해 netflix zuul 필터를 작성하려면 어떻게해야합니까?

알리 악바르 아지즈 카니

x.jsp로 리디렉션하는 다운 스트림 서비스가 있습니다.이 위치는 예를 들어 게이트웨이 경로에 없습니다.

gateway route --- localhost:8080/app - 192.168.1.1:80 (DownStream app)

사용자가 로그인하지 않은 경우 DownStream 앱 Location에서 응답 헤더에있는 192.168.1.1:80/Login.jsp로 리디렉션됩니다 .

이 URL은 게이트웨이를 사용하지 않습니다.

예를 들어 Location게이트웨이에 의해 zuul 필터 변경 헤더 에서 라우팅되는 각 URL에 대해 동적 zuul 경로를 매핑 하여이 리디렉션 URL을 변경하는 zuul 필터를 작성하고 싶습니다 . 어떻게 할 수 있습니까?

Anders Båtstrand

다운 스트림 앱은 x-forwarded- * 헤더를 존중해야하며 이와 같은 리디렉션을 생성하지 않아야합니다. 그러나 다음 필터는 어쨌든 리디렉션 위치를 변경합니다.

@Override
public String filterType() {
    return "post";
}

@Override
public int filterOrder() {
    return 0;
}

@Override
public boolean shouldFilter() {
    int status = RequestContext.getCurrentContext().getResponseStatusCode();
    return status >= 300 && status < 400;
}

@Override
public Object run() {
    RequestContext ctx = RequestContext.getCurrentContext();
    Map<String, String> requestHeaders = ctx.getZuulRequestHeaders();
    Optional<Pair<String, String>> locationHeader = ctx.getZuulResponseHeaders()
                .stream()
                .filter(stringStringPair -> LOCATION.equals(stringStringPair.first()))
                .findFirst();

        if (locationHeader.isPresent()) {
            String oldLocation = locationHeader.get().second();
            String newLocation = ...
            locationHeader.get().setSecond(newLocation);
        }
    return null;
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

iframe을 테스트하고 모든 응답 헤더를 얻으려면 어떻게해야합니까?

분류에서Dev

더 많은 데이터를로드하기 위해 이벤트에 반응하는 후크를 생성하려면 어떻게해야합니까?

분류에서Dev

배열을 채우기 위해 무작위로 AZ를 생성하려면 어떻게해야합니까?

분류에서Dev

Pandas DataFrame에 필요한 데이터를 가져 오기 위해 Python에서이 json 응답을 올바르게 풀려면 어떻게해야합니까?

분류에서Dev

하위 폴더 및 파일 생성을 한 위치로만 제한하려면 어떻게해야합니까?

분류에서Dev

CURLOPT_HEADERFUNCTION을 사용하여 단일 응답 헤더 필드를 읽으려면 어떻게해야합니까?

분류에서Dev

HTML CSS 만 사용하여 고정 위치 헤더 및 측면 탐색이있는 반응 형 페이지를 만들려면 어떻게해야합니까?

분류에서Dev

삼각형 크기를 더 작게 변경하고 위치를 변경하려면 어떻게해야합니까?

분류에서Dev

Go에서 SOAP 응답을 비 정렬 화하기 위해 구조체를 올바르게 빌드하고 중첩하려면 어떻게해야합니까?

분류에서Dev

<h1> 헤더를 <h2> 헤더 위에 유지하려면 어떻게해야합니까?

분류에서Dev

PHP에서 헤더 위치를 변경하여 하위 도메인으로 리디렉션하려면 어떻게해야합니까?

분류에서Dev

OpenLDAP에서 색인화 된 속성을 변경하기 위해`ldapmodify`를 얻으려면 어떻게해야합니까?

분류에서Dev

이벤트 뷰어에서 Xpath를 사용하여 속성 값의 하위 문자열을 필터링하려면 어떻게해야합니까?

분류에서Dev

이벤트 뷰어에서 Xpath를 사용하여 속성 값의 하위 문자열을 필터링하려면 어떻게해야합니까?

분류에서Dev

CSS에 대한 응답 성을 유지하기 위해 모든 장치에서 콘텐츠를 '왼쪽 중앙'으로 정렬하려면 어떻게해야합니까?

분류에서Dev

-0.5와 0.5 범위의 숫자를 무작위로 생성하려면 어떻게해야합니까?

분류에서Dev

플러터 스위치를 비활성화하려면 어떻게해야합니까?

분류에서Dev

nchar 필드 값의 합계를 계산하기 위해 linq를 사용하여 SQL에 합계 쿼리를 작성하려면 어떻게해야합니까?

분류에서Dev

합성 시간을 줄이기 위해 코드를 개선하려면 어떻게해야합니까?

분류에서Dev

하위 구성 요소에서 상위 구성 요소의 경로 구성 요소를 렌더링하려면 어떻게해야합니까?

분류에서Dev

Rails에서 통합 테스트를위한 도우미를 작성하려면 어떻게해야합니까?

분류에서Dev

더 큰 데이터 입력을 위해 R Shiny 앱을 확장하려면 어떻게해야합니까?

분류에서Dev

Juju를 위해 여러 MaaS 환경을 구성하려면 어떻게해야합니까?

분류에서Dev

지속성을 위해 파티션을 사용하기 위해 라이브 USB를 얻으려면 어떻게해야합니까?

분류에서Dev

지속성을 위해 파티션을 사용하기 위해 라이브 USB를 얻으려면 어떻게해야합니까?

분류에서Dev

큰 배열에서 무작위 포인트를 더 빠르게 생성하려면 어떻게해야합니까?

분류에서Dev

더 작은 행렬을 배치하기 위해 numpy 행렬의 하위 집합을 지정하려면 어떻게해야합니까?

분류에서Dev

.htaccess : 리디렉션에서 확장자와 상위 폴더를 생략하도록 파일 URI를 다시 작성하려면 어떻게해야합니까?

분류에서Dev

한 폴더 위로 배치 파일을 시작하는 바로 가기를 만들려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    iframe을 테스트하고 모든 응답 헤더를 얻으려면 어떻게해야합니까?

  2. 2

    더 많은 데이터를로드하기 위해 이벤트에 반응하는 후크를 생성하려면 어떻게해야합니까?

  3. 3

    배열을 채우기 위해 무작위로 AZ를 생성하려면 어떻게해야합니까?

  4. 4

    Pandas DataFrame에 필요한 데이터를 가져 오기 위해 Python에서이 json 응답을 올바르게 풀려면 어떻게해야합니까?

  5. 5

    하위 폴더 및 파일 생성을 한 위치로만 제한하려면 어떻게해야합니까?

  6. 6

    CURLOPT_HEADERFUNCTION을 사용하여 단일 응답 헤더 필드를 읽으려면 어떻게해야합니까?

  7. 7

    HTML CSS 만 사용하여 고정 위치 헤더 및 측면 탐색이있는 반응 형 페이지를 만들려면 어떻게해야합니까?

  8. 8

    삼각형 크기를 더 작게 변경하고 위치를 변경하려면 어떻게해야합니까?

  9. 9

    Go에서 SOAP 응답을 비 정렬 화하기 위해 구조체를 올바르게 빌드하고 중첩하려면 어떻게해야합니까?

  10. 10

    <h1> 헤더를 <h2> 헤더 위에 유지하려면 어떻게해야합니까?

  11. 11

    PHP에서 헤더 위치를 변경하여 하위 도메인으로 리디렉션하려면 어떻게해야합니까?

  12. 12

    OpenLDAP에서 색인화 된 속성을 변경하기 위해`ldapmodify`를 얻으려면 어떻게해야합니까?

  13. 13

    이벤트 뷰어에서 Xpath를 사용하여 속성 값의 하위 문자열을 필터링하려면 어떻게해야합니까?

  14. 14

    이벤트 뷰어에서 Xpath를 사용하여 속성 값의 하위 문자열을 필터링하려면 어떻게해야합니까?

  15. 15

    CSS에 대한 응답 성을 유지하기 위해 모든 장치에서 콘텐츠를 '왼쪽 중앙'으로 정렬하려면 어떻게해야합니까?

  16. 16

    -0.5와 0.5 범위의 숫자를 무작위로 생성하려면 어떻게해야합니까?

  17. 17

    플러터 스위치를 비활성화하려면 어떻게해야합니까?

  18. 18

    nchar 필드 값의 합계를 계산하기 위해 linq를 사용하여 SQL에 합계 쿼리를 작성하려면 어떻게해야합니까?

  19. 19

    합성 시간을 줄이기 위해 코드를 개선하려면 어떻게해야합니까?

  20. 20

    하위 구성 요소에서 상위 구성 요소의 경로 구성 요소를 렌더링하려면 어떻게해야합니까?

  21. 21

    Rails에서 통합 테스트를위한 도우미를 작성하려면 어떻게해야합니까?

  22. 22

    더 큰 데이터 입력을 위해 R Shiny 앱을 확장하려면 어떻게해야합니까?

  23. 23

    Juju를 위해 여러 MaaS 환경을 구성하려면 어떻게해야합니까?

  24. 24

    지속성을 위해 파티션을 사용하기 위해 라이브 USB를 얻으려면 어떻게해야합니까?

  25. 25

    지속성을 위해 파티션을 사용하기 위해 라이브 USB를 얻으려면 어떻게해야합니까?

  26. 26

    큰 배열에서 무작위 포인트를 더 빠르게 생성하려면 어떻게해야합니까?

  27. 27

    더 작은 행렬을 배치하기 위해 numpy 행렬의 하위 집합을 지정하려면 어떻게해야합니까?

  28. 28

    .htaccess : 리디렉션에서 확장자와 상위 폴더를 생략하도록 파일 URI를 다시 작성하려면 어떻게해야합니까?

  29. 29

    한 폴더 위로 배치 파일을 시작하는 바로 가기를 만들려면 어떻게해야합니까?

뜨겁다태그

보관