Miklix

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 지시문은 다음과 같이 작성할 수 있습니다.

location ~* \.(js|css|html|txt)$
{
    // do something here
}

물론, 필요에 따라 확장자를 원하는 대로 변경할 수 있습니다.

위 예시는 대소문자를 구분하지 않습니다(예: .js와 .JS 모두 일치). 대소문자를 구분하려면 ~ 뒤에 있는 *를 제거하면 됩니다.

매칭 결과를 어떻게 활용할지는 여러분에게 달려 있습니다. 일반적으로는 전처리 작업을 수행하는 백엔드 시스템으로 결과를 다시 보내거나, 공개적으로 보이는 폴더와는 다른 폴더에서 파일을 읽어오는 등 다양한 방법이 있습니다. 가능성은 무궁무진합니다 ;-)

블루스카이에서 공유하기페이스북에서 공유하기LinkedIn에서 공유하기Tumblr에 공유하기X에서 공유LinkedIn에서 공유하기Pinterest에 고정

미켈 크리스텐슨

저자 소개

미켈 크리스텐슨
남자 이름은 miklix.com의 창시자이자 소유자입니다. 전문 컴퓨터 프로그래머/소프트웨어 개발자로 20년 이상 경력을 쌓았으며 현재 유럽의 대형 IT 기업에서 정규직으로 근무하고 있습니다. 블로그를 운영하지 않을 때는 여가 시간을 다양한 관심사, 취미, 활동으로 보내며 이 웹사이트에서 다루는 다양한 주제에 어느 정도 반영되어 있습니다.