위 그림은 nginx 최장 일치 원칙을 기반으로 구성한 간단한 예입니다. /에 대한 모든 액세스를 거부하지만 /hello에 액세스할 때 정상적으로 점프할 수 있도록 하는 것이 목적입니다. 403을 반환하지만 다시 작성되었습니다. nginx가 실제로 내 규칙과 일치한다고 기록됩니다. 왜 여전히 403을 반환합니까? 정말 감사합니다.
문법 규칙: location [=|~|~*|^~] /uri/ { … } = 시작은 정확한 일치를 의미합니다. ^~ 시작은 uri가 일반 문자열로 시작한다는 의미이며 이는 일치하는 것으로 이해될 수 있습니다. URL 경로. nginx는 URL을 인코딩하지 않으므로 요청은 /static/20%/aa이며 ^~ /static/ /aa 규칙(공백 참고)과 일치할 수 있습니다. ~의 시작은 대소문자 구분 일반 일치를 나타냅니다. ~* 시작은 대소문자 구분 일반 일치를 나타냅니다. !~ 및 !~*는 각각 대소문자 구분 비일치 및 대소문자 구분 비일치 일반 일치 / 범용 일치입니다. , 모든 요청이 일치합니다
위치/모든 요청을 충족할 수 있음
다음과 같이 수정하시면 됩니다
으아악문법 규칙: location [=|~|~*|^~] /uri/ { … }
= 시작은 정확한 일치를 의미합니다.
^~ 시작은 uri가 일반 문자열로 시작한다는 의미이며 이는 일치하는 것으로 이해될 수 있습니다. URL 경로. nginx는 URL을 인코딩하지 않으므로 요청은 /static/20%/aa이며 ^~ /static/ /aa 규칙(공백 참고)과 일치할 수 있습니다.
~의 시작은 대소문자 구분 일반 일치를 나타냅니다.
~* 시작은 대소문자 구분 일반 일치를 나타냅니다.
!~ 및 !~*는 각각 대소문자 구분 비일치 및 대소문자 구분 비일치 일반 일치
/ 범용 일치입니다. , 모든 요청이 일치합니다
다시 작성한 후 /test00이 위치 /
와 일치하기 때문입니다.위치를 추가해야 합니다~ ^/test00 및 액세스를 활성화해야 합니다