nginx 실행 요청 작업 원리 의 location 일치 상세 설명
2439 단어 nginx
위치 문법 규칙
우선, 우 리 는 먼저 location 의 문법 규칙 을 이해 하고 location 문법 규칙 은 크게 두 가지 로 나 눌 수 있다.
하 나 는 지정 한 URL 주소 입 니 다.
location [ = | ~ | ~* | ^~ ] uri {
...
}
다른 종 류 는 사용자 정의 이름 을 지정 합 니 다.
location @name {
...
}
@name
는 location 설정 에 대한 사용자 정의 이름 으로 @
+
로 구성 되 어 있 으 며, 일반적으로 try 에 사 용 됩 니 다.files 뒤의 내부 요청, 사용자 정의 이름 location 에 사용자 정의 이름 location 를 삽입 할 수 없습니다.예:
location @xuzheng{
...
}
위치 수정자 의미
앞에서 언급 한 location 문법 규칙 중 하 나 는 URL 주 소 를 지정 하 는 것 이 고 그 중에서 일부 수식 자 를 사 용 했 습 니 다. 다음은 이러한 수식 자의 의 미 를 살 펴 보 겠 습 니 다.
1.
=
는 정확 한 매 칭 을 나타 낸다.요청 한 url 경로 가 뒤의 문자열 과 완전히 같 을 때 만 명중 합 니 다.예:
location = / {
...
}
2.
~
이 규칙 은 정규 정 의 를 사용 하여 대소 문 자 를 구분 하 는 것 임 을 나타 낸다.예:
location ~ \.php$ {
...
}
3.
~*
이 규칙 은 정규 정 의 를 사용 하고 대소 문 자 를 구분 하지 않 는 다 는 것 을 나타 낸다.예:
location ~* \.php$ {
...
}
4.
^~
은 접두사 가 일치 하 는 것 입 니 다. 그러나 이 기호 뒤의 문자 가 일치 하면 기본적으로 가장 좋 은 일치 입 니 다. 즉, 이 규칙 을 사용 하여 후속 검색 을 하지 않 습 니 다.예:
location ^~ /blogs {
...
}
위치 일치 우선 순위
마지막 으로, 우 리 는 location 의 검색 규칙 을 알 아 보 겠 습 니 다.아래 열 거 된 location 에서 찾 습 니 다. 위 에서 아래로 우선 순 위 는 높 은 것 에서 낮은 것 입 니 다.
1. 등호 유형, 2,
^~
유형 과 정확하게 일치 하고 접두사 가 일치 하 며 정규 가 지원 되 지 않 습 니 다. 이 기호 뒤의 문자 가 일치 하면 기본 값 으로 가장 좋 은 일치 입 니 다. 3, ~
와 ~*
유형 을 계속 찾 지 않 고 정규 일치 합 니 다. ~
대소 문 자 를 구분 합 니 다. ~*
대소 문자 4, 접두사 일치 유형 을 구분 하지 않 습 니 다. 예 를 들 어 location / {}(/ 로 시작 하 는 모든 URL 이 일치 함 을 표시 합 니 다) 또는 location / user {}. 적당 한 것 을 찾 았 을 뿐 최 장 일치 주 를 찾 을 때 까지 계속 찾 습 니 다. 정규 일치 하 는 규칙 을 사용 할 때 순서 가 중요 합 니 다. location 은 첫 번 째 조건 에 맞 는 설정 규칙 을 찾 으 면 검색 을 중단 합 니 다. 아래 에 더 일치 하 는 설정 이 있 더 라 도.총결산
위치 매 칭 과정:
1. 우선 접두사 일치 (즉 문자열 일치) 로 정 의 된 location 를 확인 하고 가장 긴 일치 하 는 항목 을 선택 하여 기록 합 니 다.접두사 가 일치 하면 찾기 를 중단 하고 정 의 된 설정 을 사용 합 니 다. 적당 한 테 이 프 를 찾 지 못 하면
=
기호의 접두사 가 일치 하면 4 를 계속 찾 습 니 다. 정규 정 의 를 사용 한 location 을 찾 으 면 찾 지 않 고 정 의 된 설정 을 사용 합 니 다. 적당 한 정규 매 칭 을 찾 지 못 하면 5 를 계속 찾 습 니 다. 앞 에 기 록 된 최 장 일치 접두사 문자 location 을 사용 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.