웹서버/nginx
엔진엑스(Nginx) Location Context 와 수정자
janggos
2024. 2. 10. 13:34
수정자는 Nginx의 위치 지시문에서 요청을 일치시키는 방식을 결정하는 특별한 키워드입니다.
다양한 수정자가 있으며, 각각의 수정자는 요청과 위치 블록 간의 관계를 조정하고 서버 응답을 제어합니다.
- (Exact Match):
- 정의: 요청이 지정된 경로와 정확히 일치해야 합니다.
- 설명: 요청 URI가 지정된 경로와 정확히 일치해야만 위치 블록이 활성화되고 해당 응답이 반환됩니다.
- 예제: location = /example { return 200 "Exact match!"; }
- ^~ (Prefix Match):
- 정의: 지정된 접두사로 시작하는 요청과 일치해야 합니다. 다른 수정자보다 우선합니다.
- 설명: 요청 URI가 지정된 접두사로 시작해야만 위치 블록이 활성화되고 해당 응답이 반환됩니다.
- 예제: location ^~ /images/ { return 200 "Prefix match!"; }
- ~ (Case-sensitive Regular Expression Match):
- 정의: 지정된 정규 표현식과 대소문자까지 정확하게 일치해야 합니다.
- 설명: 요청 URI가 지정된 정규 표현식과 정확하게 일치해야만 위치 블록이 활성화되고 해당 응답이 반환됩니다.
- 예제: location ~ \.(jpg|jpeg|png)$ { return 200 "Case-sensitive regex match!"; }
- ~* (Case-insensitive Regular Expression Match):
- 정의: 지정된 정규 표현식과 대소문자를 구분하지 않고 일치해야 합니다.
- 설명: 요청 URI가 지정된 정규 표현식과 대소문자를 구분하지 않고 일치해야만 위치 블록이 활성화되고 해당 응답이 반환됩니다.
- 예제: location ~* \.(gif|svg)$ { return 200 "Case-insensitive regex match!"; }
- (None) (Prefix Match):
- 정의: 지정된 접두사로 시작하는 요청과 일치해야 합니다. 대소문자를 구분합니다.
- 설명: 요청 URI가 지정된 접두사로 시작해야만 위치 블록이 활성화되고 해당 응답이 반환됩니다.
- 예제: location /assets { return 200 "No modifier prefix match!"; }
위의 수정자들은 Nginx의 위치 지시문을 사용하여 요청을 처리하는 방식을 세밀하게 제어합니다. 각 수정자는 다른 요구사항에 맞게 요청을 일치시키고 적절한 응답을 반환합니다.