Nginx location 설정에서 ~ 및 = 키워드

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는 제외)