이번에는 간단하게 Request URL을 Rewrite하는 방법에 대해서 안내해 드리겠습니다. URL rewrite의 경우는 이런 경우에 사용될 수 있습니다. 예를들면 잘 아시는 것 처럼 User가 어떤 URL을 request하면 특별한 설정을 하지 않는 이상 해당 URL을 가지고 Origin으로 요청을 하게 되고, 요청한 URL이 Origin에 존재하면 contents를 User에게 내려주고, 없다면 당연히 404가 발생할 것입니다. 그런데, 상황에 따라서는 Origin의 Path를 실제 서비스에 접속 하는 User들에게는 공개하고 싶지 않다거나, 혹은 Origin 측의 Path가 너무 복잡해서 실제 User측에서 Request할때 쓰이는 URL은 단순하게 하고 싶다라던가 하는 상황이 있을 것입니다. 이 때에는 URL rewrite설정을 통해 간단하게 대응할 수 있습니다.
- VCL_RECV에 설정합니다.
if (req.url ~ "/some-(custom|dynamic|complex)-pattern/url/path") {
set req.url = "/rewrited-url/200";
}
샘플은 위의 코드와 같습니다. 아주 간단하죠, 먼저 조건문으로 Request URL에 어떤 특정 문자열이 있을 경우 set req.url을 설정하여 해당 URL로 request하도록 하는 구문입니다. req.url에 주어지는 값은 regex로도 가능합니다.
아래의 URL은 Sample로 만들어 본 fiddle입니다. Origin은 https://httpbin.org/ 이며 https://httpbin.org/image/jpeg 및 https://httpbin.org/image/webp 를 Cache를 통해서 컨텐츠를 호출 할 것입니다. 기본적으로 호출시에 https://cache_domain/origin_path 의 형식으로 호출해야 하지만, cache에서 호출시에는 Origin과 다른 URL을 사용했으며 request가 시작하면 rewrite를 통해서 실제 Origin이 가지고 있는 path로 컨텐츠를 호출하게 됩니다. 실제 Origin에 존재하지 않는 Path를 rewrite없이 요청한다면 당연히 404가 반환 될 것 입니다.
- Sample Fiddle (URL Rewrite)
이번 포스트에서는 간단하게 URL을 rewrite하는 방법을 알아 봤습니다. 다음 Post에서는 또 다른 기능에 대해서 안내해 드리도록 하겠습니다. 긴글 끝까지 읽어 주셔서 감사합니다.
'Fastly_CDN > CDN_설정' 카테고리의 다른 글
패스틀리(Fastly), Compute@Edge를 사용해 보자 #2 (0) | 2023.03.16 |
---|---|
패스틀리(Fastly), Compute@Edge를 사용해 보자 (0) | 2023.02.21 |
패스틀리(Fastly), 스트리밍 설정의 가이드라인 (0) | 2022.11.29 |
패스틀리(Fastly), DDoS방어에 효과적인 설정들 소개 (0) | 2022.10.20 |
패스틀리(Fastly), VCL로 Edge Rate Limiting 설정하기 (0) | 2022.08.30 |