Nginx location 이런 거 알 아야 돼!

1845 단어 nginxlocation
필드:
프로젝트 개발 에서 nginx 프로필 을 자주 만 날 수 있 습 니 다. location 설정 이 많 지만 그 의 미 를 읽 지 못 해 고민 합 니 다.
위치 가 뭐 예요?
Location 는 Nginx 의 블록 급 명령 (block directive) 입 니 다.
Location 명령 블록 설정 을 통 해 클 라 이언 트 가 보 낸 요청 URI 를 어떻게 처리 할 지 결정 할 수 있 습 니 다.
위치 기본 문법
             (modifier)         
location [ = | ~ | ~* | ^~ ]     uri     { ... } 
location               
  1.   location(prefix location): 
           location
     =     location
     ^~       location
  2.     location(regular expressions location):
    ~            location
    ~*            location

위치 기본 일치 규칙
일치 규칙 은 nginx 에 도 착 했 을 때 nginx 가 어떤 location 을 사용 해 야 할 지 결정 하 는 것 을 말 합 니 다.
우선, nginx 는 모든 접두사 location 을 검사 하고 그 중에서 선택 합 니 다.
가장 긴 접두사 가 일치 하 는 location 을 기록 합 니 다.
그 다음 에 정규 location 이 존재 할 때 나타 나 는 순서에 따라 URI 와 차례대로 일치 하고 일치 하 는 정규 location 을 찾 으 면 더 이상 아래로 내 려 가지 않 고 이 location 을 최종 결과 로 선택 합 니 다.(중점 설정: 정규 location 이 나타 나 는 순서 가 중요 합 니 다)
위치 특수 일치 규칙 1
가장 긴 접두사 가 location 과 일치 하 는 수정자 가 ^ ~ 일 경우 정규 location 을 검사 하지 않 고 이 location 을 최종 location 으로 선택 하 십시오.
위치 특수 일치 규칙 2
정확 한 일치 위치 가 존재 하고 요청 한 uri 가 있 으 면
완전히 일치 합 니 다. 이 정확 한 일치 location 을 최종 location 으로 선택 하 십시오.
자신의 이해 가 정확 한 지 테스트 하기:
다음은 location 설정 참고 및 서로 다른 요청 uri 가 nginx 에 도 착 했 을 때 실행 되 는 규칙 입 니 다.
location = / {
    [ configuration A ]
}

location / {
    [ configuration B ]
}

location /documents/ {
    [ configuration C ]
}

location ^~ /images/ {
    [ configuration D ]
}

location ~* \.(gif|jpg|jpeg)$ {
    [ configuration E ]
}

  URI                             
/                             A
/index.html                   B
/documents/document.html      C
/images/1.gif                 D
/documents/1.jpg              E


참고 문헌:
[Nginx  location  ][1]

좋은 웹페이지 즐겨찾기