DevOps/Nginx
[DevOps/Nginx] location 경로 매칭 (=, ~)
scii
2024. 7. 2. 03:37
location 경로 매칭하는 방식에는 크게 "=", "~" 이 두가지가 있다.
정확한 매칭 (=)
location = /api/ {
# 요청 처리
}
location = /api/ { ... } 이것은 정확히 "/api/" 경로와 일치하는 요청만을 처리한다.
즉, "/api/" 경로에 대한 요청만 이 블록에 의해 처리된다. 예를 들어, /api/, /api/?query=param 등이 해당된다.
/api/v5 또는 /api/something 과 같은 하위 경로에는 적용되지 않는다.
정규 표현식 매칭 (~)
location ~ /api/ {
# 요청 처리
}
location ~ /api/ { ... } 이것은 "/api/" 로 시작하는 경로를 정규 표현식으로 매칭한다.
예를 들어, /api/, /api/v5, /api/something, /api/v5/users 등 "/api/"로 시작하는 모든 경로에 대해 이 블록이 적용된다.
즉, /api/ 로 시작하는 모든 요청에 대해 일괄적으로 적용된다.
차이점
- 적용 범위
- location = /api/ { ... } : /api/ 경로에만 적용
- location ~ /api/ { ... } : /api/ 로 시작하는 모든 하위 경로까지 포함
이렇게 두 가지 방식은 요청을 처리할 때 매칭하는 URL 경로의 범위와 방식에서 차이가 있다. 정확한 매칭이 필요한 경우 "location = ..."을 사용하고, 보다 넓은 범위의 매칭이 필요한 경우 "location ~ ..."을 사용하면 된다.