다음을 통해 공유


Azure 애플리케이션 Gateway를 사용하여 URL 다시 쓰기 - Azure Portal

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

참고 항목

URL 다시 쓰기 기능은 Application Gateway의 Standard_v2 및 웹 애플리케이션 Firewall_v2 SKU에만 사용할 수 있습니다. 웹 애플리케이션 방화벽 사용 게이트웨이에서 URL 다시 쓰기를 구성하면 웹 애플리케이션 방화벽 평가는 다시 작성된 요청 헤더 및 URL에서 이루어집니다. 자세한 내용은 웹 애플리케이션 방화벽(WAF_v2 SKU)을 사용하여 URL 다시 쓰기 또는 호스트 헤더 다시 쓰기를 참조하세요.

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

시작하기 전에

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

Azure에 로그인

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

URL 다시 쓰기 구성

다음 예제에서는 요청 URL이 포함될 /article때마다 URL 경로 및 URL 쿼리 문자열을 다시 작성합니다. 예시:

contoso.com/article/123/fabrikam ->contoso.com/article.aspx?id=123&title=fabrikam

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

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

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

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

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

    1. 이름 상자에 다시 쓰기 집합의 이름을 입력합니다.

    2. 연결된 라우팅 규칙 목록에서 하나 이상의 규칙을 선택합니다. 이 단계에서는 라우팅 규칙을 통해 다시 쓰기 구성을 원본 수신기에 연결합니다. 다른 다시 쓰기 집합과 아직 연결되지 않은 라우팅 규칙만 선택합니다. 다른 다시 쓰기 집합과 이미 연결된 규칙은 흐리게 표시됩니다.

    3. 다음을 선택합니다.

    규칙에 대한 연결이 표시된 스크린샷

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

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

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

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

    3. 규칙 순서 상자에 숫자를 입력합니다.

  6. 이 예제에서는 경로에 포함된 경우에만 URL 경로 및 URL 쿼리 문자열을 다시 작성합니다 /article. 이 단계를 수행하려면 URL 경로에 다음이 포함되어 있는지 여부를 평가하는 조건을 추가합니다./article

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

    2. 검사할 변수 유형 목록에서 서버 변수를 선택합니다. 이 예제에서는 URL 경로의 패턴을 /article 확인하려고 합니다.

    3. 서버 변수 목록에서 .를 선택합니다uri_path.

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

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

    6. 정규식 패턴을 입력합니다. 이 예제에서는 패턴을 사용합니다. .*article/(.*)/(.*)

      괄호()는 URL 경로를 다시 쓰기 위한 식을 작성하는 데 나중에 사용할 부분 문자열을 캡처하는 데 사용됩니다. 자세한 내용은 패턴 일치 및 캡처를 참조 하세요.

    7. 확인을 선택합니다.

    조건을 보여 주는 스크린샷.

  7. URL 및 URL 경로를 다시 작성하는 작업을 추가합니다.

    1. 다시 쓰기 유형 목록에서 URL을 선택합니다.

    2. 작업 형식 목록에서 설정을 선택합니다.

    3. 구성 요소 아래에서 URL 경로 및 URL 쿼리 문자열을 모두 선택합니다.

    4. URL 경로 값에 경로의 새 값을 입력합니다. 이 예시에서는 /article.aspx를 사용합니다.

    5. URL 쿼리 문자열 값에 URL 쿼리 문자열의 새 값을 입력합니다. 이 예시에서는 id={var_uri_path_1}&title={var_uri_path_2}를 사용합니다.

      {var_uri_path_2} 경로는 {var_uri_path_1} 식의 조건을 평가하는 동안 캡처된 부분 문자열을 가져오는 데 사용됩니다..*article/(.*)/(.*)

    6. 확인을 선택합니다.

    작업을 보여 주는 스크린샷.

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

  9. 새 다시 쓰기 집합이 다시 쓰기 집합 목록에 표시되는지 확인합니다.

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

액세스 로그를 통해 URL 다시 쓰기 확인

액세스 로그에서 다음 필드를 관찰하여 예상에 따라 URL 다시 쓰기가 발생했는지 확인합니다.

  • originalRequestUriWithArgs: 이 필드에는 원래 요청 URL이 포함됩니다.
  • requestUri: 이 필드에는 Application Gateway에서 다시 쓰기 작업 후의 URL이 포함됩니다.

액세스 로그의 모든 필드에 대한 자세한 내용은 Access 로그를 참조하세요.

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