Nginx 매 칭 프로 세 스 일람

2929 단어
nginx server 모듈 에서 location 의 정의 길 이 는 표준 URI 와 일치 하고 URI 에 따라 해당 하 는 서비스 방안 을 만 드 는 데 사 용 됩 니 다.
nginx location 일치 하 는 우선 순위
location 에 서 는 모두 5 가지 일치 하 는 모드 가 있 습 니 다.
종류.
서법
none
location 에 일치 하 는 패턴 이 지정 되 어 있 지 않 습 니 다. 접두사 로 일치 합 니 다. 검색 을 멈 추 지 않 고 다음 location 의 내용 과 계속 일치 합 니 다.=
location 에 서 는 뒤에 설 정 된 내용 과 정확하게 일치 해 야 합 니 다. 일치 하 는 데 성공 하면 검색 을 중단 합 니 다.=
location 의 내용 과 대소 문자 가 민감 한 방식 으로 일치 합 니 다.~
location 의 내용 과 대소 문자 가 민감 하지 않 은 방식 으로 일치 합 니 다.~*
정규 가 아 닌 방식 으로 가장 좋 은 일치 하 는 내용 을 찾 으 면 여기 서 멈 추고 존재 할 수 있 는 정규 일치 하 는 것 을 검색 하지 않 습 니 다.
이 다섯 가지 기본 매 칭 을 본 후에 도 이해 하기 어 려 울 수 있 습 니 다. 다음은 Nginx 의 시각 으로 매 칭 과정 을 모 의 할 것 입 니 다.
모든 요청 에 있어 Nginx 는 설정 한 여러 location 블록 중에서 가장 적합 한 설정 블록 을 선택 하여 클 라 이언 트 의 응답 을 제공 합 니 다.가장 좋 은 선택 을 찾기 위해 모든 요청 이 올 때 다음 과 같은 절 차 를 수행 합 니 다.
  • Nginx 는 먼저 정확하게 일치 합 니 다. location 설정 에서 ^~ 과 같은 내용 을 찾 으 면 이 location 설정 을 요청 한 서버 로 즉시 선택 합 니 다.
  • = 로 시작 하 는 location 블록 이 없 으 면 Nginx 는 접두사 와 일치 하 는 location 설정 블록 을 검색 하고 가장 긴 접두사 와 일치 하 는 location 를 선택 하여 판단 합 니 다.
  • 최 장 일치 하 는 location 에 = 포함 되면 Nginx 는 검색 을 중단 하고 이 location 을 선택 하여 서 비 스 를 제공 합 니 다.
  • 최 장 일치 중 location 에 포함 되 지 않 는 ^~, 즉 none 형식 이 라면 Nginx 는 현 재 를 임시 참고 로 계속 아래로 검색 합 니 다.

  • 이어서 Nginx 는 URL 과 대소 문자 가 민감 하고 대소 문자 가 민감 하지 않 은 정규 가 일치 합 니 다.일치 하 는 데 성공 하면 현재 정규 location 설정 을 선택 하여 서 비 스 를 제공 합 니 다.
  • 정규 설정 블록 과 일치 하지 않 으 면 두 번 째 단 계 를 선택 하여 임시 참고 로 저 장 된 설정 블록 으로 서 비 스 를 진행 합 니 다.

  • 쉽게 말 하면 일치 하 는 우선 순 위 는: ^~ > = > ^~ > ~ > none 입 니 다.
    일치 과정 구체 적 인 예:
    Nginx location 에 대해 다음 과 같은 설정 을 했다 고 가정 합 니 다.
    location = / {
        [ configuration A ]
    }
    
    location / {
        [ configuration B ]
    }
    
    location /documents/ {
        [ configuration C ]
    }
    
    location ^~ /images/ {
        [ configuration D ]
    }
    
    location ~* \.(gif|jpg|jpeg)$ {
        [ configuration E ]
    }
  • / configuration A 와 일치 합 니 다. ~* 는 검색 의 첫 번 째 이 고 가장 높 은 우선 순위 가 있 기 때 문 입 니 다.
  • / images / 1. gif 는 configuration D 와 일치 합 니 다.먼저 = 대표 적 인 설정 블록 이 일치 하지 않 으 면 접두사 의 최 장 일치 가 시 작 됩 니 다. 이때 D 가 만족 하고 D 는 = 유형 이 므 로 D 를 선택 합 니 다.
  • / documents / 1. jpg 는 configuration E 와 일치 합 니 다.마찬가지 로 ^~ 대표 적 인 설정 블록 이 일치 하지 않 아 최 장 접두사 매 칭 을 시작 합 니 다. 이 때 E 가 만족 하지만 E 는 = 유형 이 아니 기 때문에 임시 방안 으로 계속 아래로 매 칭 합 니 다.E 가 정규 일치 하고 일치 하 는 것 을 발견 하면 E 선택 을 끝 냅 니 다.
  • / index. html 는 configuration B 의 설정 블록 과 일치 합 니 다.같은 ^~ 대표 적 인 설정 블록 매 칭 에 실 패 했 습 니 다. 최 장 접두사 매 칭 을 시작 합 니 다. 이때 B 가 만족 하지만 B 는 = 형식 이 아 닙 니 다. 임시로 저장 하고 계속 일치 합 니 다.적당 한 정규 매 칭 을 찾 을 수 없 음 을 발견 하 였 습 니 다.그래서 토 크 방안 B 가 선택 되 었 습 니 다.

  • 레 퍼 런 스
    Nginx-doc-location

    좋은 웹페이지 즐겨찾기