Nginx location 설정 옵션
Nginx를 사용하다가 특정 접근 경로에 대하여 다른 정적 페이지를 바라보게 처리하는 일이 생겼습니다.
이때, html을 보도록 설정하였는데 파일이 다운로드 되는 현상을 겪었습니다.
이유는 default_type을 설정하지 않아서 였습니다.
샘플
location = /approval {
default_type "text/html";
alias /home/ubuntu/approval/index.html;
index index.html;
}
이 외에도 location 설정시 =, ~, -*, ^- 등을 uri 전에 추가 할 수 있습니다.
문법
Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
Default: —
Context: server, location
뜻은 다음과 같습니다.
# 정확하게 일치
location = / {
[ configuration A ]
}
# 지정한 패턴으로 시작
location / {
[ configuration B ]
}
# 지정한 패턴으로 시작
location /documents/ {
[ configuration C ]
}
# 지정한 패턴으로 시작 패턴이 일치 하면 다른 패턴 탐색 중지( 정규식 아님 )
location ^~ /images/ {
[ configuration D ]
}
# 정규식 표현 일치 - 대소문자 구분
location ~ \.(gif|jpg|jpeg)$ {
[ configuration E ]
}
# 정규식 표현 일치 - 대소문자 구분 안함
location ~* \.(gif|jpg|jpeg)$ {
[ configuration F ]
}
별겨 아니지만 삽질 하지 않도록 기억해 두어야겠네요! :)