NGINX를 사용하여 파일 확장자 기반 위치 일치
게시됨: 2025년 2월 15일 오전 1시 4분 27초 UTC
마지막으로 업데이트되었습니다: 2026년 1월 12일 오전 8시 35분 45초 UTC
이 글에서는 NGINX의 위치 컨텍스트에서 파일 확장자를 기반으로 패턴 매칭을 수행하는 방법을 설명합니다. 이는 URL 재작성이나 파일 유형에 따라 파일을 다르게 처리하는 데 유용합니다.
Match Location Based on File Extension with NGINX
이 게시물의 정보는 Ubuntu Server 14.04 x64에서 실행되는 NGINX 1.4.6을 기준으로 작성되었습니다. 다른 버전에서는 유효하지 않을 수 있습니다.
저는 정규 표현식에 그다지 능숙하지 않아서 (연습해야 할 부분이라는 건 저도 알고 있습니다), 예를 들어 NGINX의 위치 컨텍스트에서처럼 아주 간단한 패턴 매칭 이상의 작업을 해야 할 때는 종종 관련 내용을 찾아봐야 합니다.
특정 파일 형식을 다르게 처리해야 할 때 매우 유용한 기능 중 하나는 요청된 파일의 확장자를 기준으로 위치를 일치시키는 기능입니다. 사용법도 매우 간단하며, location 지시문은 다음과 같이 작성할 수 있습니다.
{
// do something here
}
물론, 필요에 따라 확장자를 원하는 대로 변경할 수 있습니다.
위 예시는 대소문자를 구분하지 않습니다(예: .js와 .JS 모두 일치). 대소문자를 구분하려면 ~ 뒤에 있는 *를 제거하면 됩니다.
매칭 결과를 어떻게 활용할지는 여러분에게 달려 있습니다. 일반적으로는 전처리 작업을 수행하는 백엔드 시스템으로 결과를 다시 보내거나, 공개적으로 보이는 폴더와는 다른 폴더에서 파일을 읽어오는 등 다양한 방법이 있습니다. 가능성은 무궁무진합니다 ;-)
