Nginx location 설정에서 ~ 및 = 키워드의 의미
location 디렉티브란?
Nginx에서 location 블록은 특정 URL 패턴과 일치하는 요청을 처리하는 데 사용된다.
~ : 정규 표현식(대소문자 구분)
~
기호는 대소문자를 구분하는 정규 표현식을 의미한다.- 요청 URL이 해당 정규식과 일치할 경우 해당 블록이 실행된다.
예제
location ~ .(jpg|png|gif)$ {
root /var/www/images;
}
.jpg
,.png
,.gif
확장자를 가진 요청을/var/www/images
디렉터리에서 제공한다.- 확장자는 대소문자를 구분하므로
.JPG
파일 요청은 이 블록에 매칭되지 않는다.
= : 정확한 문자열 매칭
=
기호는 정확한 문자열 매칭을 의미한다.- URL이 지정된 문자열과 완전히 일치할 때만 해당 블록이 실행된다.
=
블록이 매칭되면 더 이상 다른location
블록을 탐색하지 않는다.
예제
location = /about {
return 200 "About Page";
}
/about
경로와 정확히 일치하는 요청만 처리한다./about/
(슬래시 포함) 또는/about?query=1
같은 요청은 매칭되지 않는다.
location 키워드 정리
키워드 | 의미 | 예제 | 특징 |
= | 정확한 경로 일치 | location = /home | 정확히 /home 요청만 처리 |
~ | 정규식 (대소문자 구분) | location ~ .jpg$ | .jpg만 매칭 (.JPG는 제외) |