다음을 통해 공유


Azure Application Gateway로 HTTP 요청 및 응답 헤더 다시 쓰기 - Azure Portal

이 문서에서는 Azure Portal을 사용하여 요청 및 응답에서 HTTP 헤더를 다시 작성하도록 Azure 애플리케이션 Gateway v2 SKU 인스턴스를 구성하는 방법을 설명합니다.

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

시작하기 전에

이 문서의 단계를 완료하려면 Application Gateway v2 SKU 인스턴스가 있어야 합니다. v1 SKU에서는 헤더 다시 쓰기가 지원되지 않습니다. v2 SKU가 없는 경우 시작하기 전에 Application Gateway v2 SKU 인스턴스를 만듭니다.

필수 개체 만들기

HTTP 헤더 다시 쓰기를 구성하려면 다음 단계를 수행합니다.

  1. HTTP 헤더 다시 쓰기에 필요한 개체를 만듭니다.

    • 다시 쓰기 작업: 다시 쓰려는 요청 및 요청 헤더 필드와 헤더의 새 값을 지정하는 데 사용됩니다. 다시 쓰기 작업과 하나 이상의 다시 쓰기 조건을 연결할 수 있습니다.

    • 다시 쓰기 조건: 선택적 구성입니다. 다시 쓰기 조건은 HTTP 요청 및 응답의 콘텐츠를 평가합니다. HTTP(S) 요청 또는 응답이 다시 쓰기 조건과 일치하면 다시 쓰기 작업이 수행됩니다.

      작업에 둘 이상의 조건을 연결할 경우 모든 조건이 충족되는 경우에만 작업이 수행됩니다. 즉, 작업은 논리적 AND 작업입니다.

    • 다시 쓰기 규칙: 여러 다시 쓰기 작업/다시 쓰기 조건 조합을 포함합니다.

    • 규칙 순서: 다시 쓰기 규칙이 실행되는 순서를 결정하는 데 도움이 됩니다. 이 구성은 다시 쓰기 집합에 다시 쓰기 규칙이 여러 개 있는 경우에 유용합니다. 규칙 시퀀스값이 낮은 다시 쓰기 규칙이 먼저 실행됩니다. 두 개의 다시 쓰기 규칙에 동일한 규칙 시퀀스 값을 할당하는 경우 실행 순서는 비결정적입니다.

    • 다시 쓰기 집합: 요청 라우팅 규칙과 연결되는 다시 쓰기 규칙을 여러 개 포함합니다.

  2. 다시 쓰기 집합을 라우팅 규칙에 연결합니다. 이 다시 쓰기 구성이 회람 규칙을 통해 원본 수신기에 첨부됩니다.

    • 기본 회람 규칙을 사용하는 경우 헤더 다시 쓰기 구성이 원본 수신기와 연결되어 글로벌 헤더 다시 쓰기가 됩니다.
    • 경로 기반 회람 규칙을 사용하는 경우 헤더 다시 쓰기 구성이 URL 경로 맵에 정의됩니다. 이 경우 사이트의 특정 경로 영역에만 적용됩니다.

여러 HTTP 헤더 다시 쓰기 집합을 만들고 각 다시 쓰기 집합을 여러 수신기에 적용할 수 있습니다. 단, 특정 수신기에는 다시 쓰기 집합을 하나만 적용할 수 있습니다.

Azure에 로그인

Azure 계정을 사용하여 Azure Portal 에 로그인합니다.

헤더 다시 쓰기 구성

이 예제에서는 백 엔드 애플리케이션에서 보낸 HTTP 응답에서 위치 헤더를 다시 작성하여 리디렉션 URL을 수정합니다.

  1. 모든 리소스를 선택한 후 애플리케이션 게이트웨이를 선택합니다.

  2. 서비스 창에서 다시 쓰기를 선택합니다.

  3. 집합 다시 쓰기를 선택합니다.

    다시 쓰기 집합 추가를 보여 주는 스크린샷

  4. 다시 쓰기 집합의 이름을 제공하고 라우팅 규칙과 연결합니다.

    1. 이름 상자에 다시 쓰기 집합의 이름을 입력합니다.
    2. 연결된 라우팅 규칙 목록에서 하나 이상의 규칙을 선택합니다. 다른 다시 쓰기 집합과 아직 연결되지 않은 규칙만 선택합니다. 다른 다시 쓰기 집합과 이미 연결된 규칙은 흐리게 표시됩니다.
    3. 다음을 선택합니다.

    이름 및 연결 추가를 보여 주는 스크린샷

  5. 다시 쓰기 규칙을 만듭니다.

    1. 다시 쓰기 규칙 추가를 선택합니다.

      다시 쓰기 규칙 추가를 보여 주는 스크린샷

    2. 다시 쓰기 규칙 이름 상자에 다시 쓰기 규칙의 이름을 입력합니다. 규칙 순서 상자에 숫자를 입력합니다.

      다시 쓰기 규칙 이름 추가를 보여 주는 스크린샷

  6. 이 예제에서는 에 대한 참조 azurewebsites.net가 포함된 경우에만 위치 헤더를 다시 씁니다. 이 단계를 수행하려면 응답의 위치 헤더에 다음이 포함되어 있는지 여부를 평가하는 조건을 추가합니다.azurewebsites.net

    1. 조건 추가를 선택한 다음 If 지침이 포함된 상자를 선택하여 확장합니다.

      조건 추가를 보여 주는 스크린샷

    2. 확인할 변수 형식 목록에서 HTTP 헤더를 선택합니다.

    3. 헤더 형식 목록에서 응답을 선택합니다.

    4. 헤더 이름아래에서 공용 헤더를 선택합니다. 이 예제에서는 공통 헤더인 위치 헤더를 평가합니다.

    5. 공용 헤더 목록에서 위치를 선택합니다.

    6. 대/소문자 구분에서 아니요를 선택합니다.

    7. 연산자 목록에서 equal (=)을 선택합니다.

    8. 정규식 패턴을 입력합니다. 이 예제에서는 패턴을 (https?):\/\/.*azurewebsites.net(.*)$사용합니다.

    9. 확인을 선택합니다.

    If 조건 구성을 보여 주는 스크린샷

  7. 위치 헤더를 다시 쓰는 작업을 추가합니다.

    1. 작업 형식 목록에서 설정을 선택합니다.
    2. 헤더 형식 목록에서 응답을 선택합니다.
    3. 헤더 이름아래에서 공용 헤더를 선택합니다.
    4. 공용 헤더 목록에서 위치를 선택합니다.
    5. 헤더 값을 입력합니다. 이 예제에서는 헤더 값으로 사용합니다 {http_resp_Location_1}://contoso.com{http_resp_Location_2} . 이 값은 위치 헤더에서 바뀝니다 azurewebsites.net contoso.com .
    6. 확인을 선택합니다.

    작업 추가를 보여 주는 스크린샷

  8. 만들기를 선택하여 다시 쓰기 집합을 만듭니다.

    만들기 선택을 보여 주는 스크린샷

  9. 다시 쓰기 창이 열립니다. 만든 다시 쓰기 집합이 다시 쓰기 집합 목록에 있는지 확인합니다.

    집합 보기 다시 쓰기를 보여 주는 스크린샷

몇 가지 일반적인 사용 사례를 설정하는 방법에 대한 자세한 내용은 Common 헤더 다시 쓰기 시나리오를 참조 하세요.