NGINX를 사용하여 파일 확장자 기반 위치 일치
게시됨: 2025년 2월 15일 오전 1시 4분 27초 UTC
이 문서에서는 NGINX에서 위치 컨텍스트에서 파일 확장자 기반 패턴 매칭을 수행하는 방법을 설명합니다. 이는 URL을 다시 쓰거나 파일 유형에 따라 파일을 다르게 처리하는 데 유용합니다.
이 페이지는 가능한 한 많은 사람이 이용할 수 있도록 영어에서 기계 번역되었습니다. 안타깝게도 기계 번역은 아직 완성된 기술이 아니므로 오류가 발생할 수 있습니다. 원하시는 경우 여기에서 영어 원문을 보실 수 있습니다:
Match Location Based on File Extension with NGINX
Match Location Based on File Extension with NGINX
이 게시물의 정보는 Ubuntu Server 14.04 x64에서 실행되는 NGINX 1.4.6을 기반으로 합니다. 다른 버전에는 유효할 수도 있고 그렇지 않을 수도 있습니다.
저는 정규 표현식에 그렇게 능숙하지 않습니다(아마 제가 노력해야 할 부분인 줄 알지만요). 그래서 예를 들어 NGINX의 위치 컨텍스트에서 가장 간단한 패턴 매칭보다 더 많은 작업을 해야 할 때면 종종 정규 표현식에 대해 공부해야 합니다.
특정 파일 유형을 다르게 처리해야 하는 경우 매우 유용한 기능 중 하나는 요청된 파일의 확장자를 기반으로 위치를 일치시키는 기능입니다. 그리고 매우 쉽습니다. 위치 지시문은 다음과 같이 간단하게 보일 수 있습니다.
location ~* \.(js|css|html|txt)$
{
// do something here
}
{
// do something here
}
물론, 원하는 대로 확장자를 변경할 수 있습니다.
위의 예는 대소문자를 구분하지 않습니다(예를 들어, .js와 .JS 모두 일치합니다). 대소문자를 구분하려면 ~ 뒤에 있는 *를 제거하면 됩니다.
성냥을 어떻게 사용할지는 여러분의 선택입니다. 일반적으로는 일종의 전처리 과정을 거치는 백엔드로 다시 작성하거나, 대중에게 보이는 것과 다른 폴더의 파일을 읽고 싶을 수도 있습니다. 가능성은 무한합니다 ;-)