주로 위치 매개변수에서 if 판단의 구성 점프를 수행하면 서버의 부하와 부담을 줄일 수 있습니다. 이는 매우 일반적인 서버 배포 아키텍처입니다.
마지막 IP 세그먼트의 범위를 기준으로 점프
#域名,ip,端口等信息请自行修改 upstream huaji-01.com { server 192.168.1.100:8080; } upstream huaji-02.com { server 192.168.1.200:8080; } server { listen 80; server_name www.huaji.com; location / { if ( $remote_addr ~* ^(.*)\.(.*)\.(.*)\.[1,125]$) { proxy_pass http://huaji-01.com; break; } proxy_pass http://huaji-02.com; } }
위는 마지막 IP 세그먼트 1-125가 포함된 요청 소스를 huaji-01.com으로 전달하고 기타 요청은 huaji-02.com으로 전달할 수도 있습니다. 예를 들어 일반 규칙을 수정하세요
규칙: $remote_addr ~* ^(.*).(.*).(.*).*[0268]$ 끝이 0268과 같은 짝수 IP인 경우 huaji로 이동합니다. -01.com, 그렇지 않으면 두 번째 도메인 이름으로 점프합니다.
Rule: $remote_addr ~* ^(112).(.*).(.*).(.*)$ 112로 시작하는 IP는 지정된 도메인으로 점프합니다. name;
Rule: $http_x_forwarded_for ~ * ^(112).(.*).(.*).(.*)$ 전달 주소 세그먼트에 따라 트래픽을 112로 시작하는 지정된 도메인 이름으로 이동합니다. if 명령 조건 판단 의미:
정규식 일치, 여기서:~는 대소문자를 구분하는 일치입니다.
~*는 대소문자를 구분하지 않는 일치입니다.
!~ 및 !~*는 대소문자를 구분하는 불일치이며 대소문자가 일치합니다. -각각 불일치
파일 및 디렉터리 일치 중:-f 및 !-f는 파일이 존재하는지 확인하는 데 사용됩니다.
-d 및 !-d는 디렉터리가 존재하는지 확인하는 데 사용됩니다.
-e 및 !-e는 파일이 존재하는지 확인하는 데 사용됩니다. 또는 디렉토리
-x 및 !-x는 파일이 실행 가능한지 확인하는 데 사용됩니다. 다시 쓰기 명령의 마지막 매개 변수는 플래그 표시입니다. :
last는 아파치의 [l] 표시와 동일하며 이는 다시 작성을 의미합니다.break 본 규칙의 매칭이 완료되면 매칭이 종료되며 이후의 규칙은 더 이상 매칭되지 않습니다.
redirect는 302 임시 리디렉션을 반환하고 브라우저 주소는 점프 후 URL 주소를 표시합니다. permanent는 301 영구 리디렉션을 반환하고 브라우저 주소는 점프 후 URL 주소를 표시합니다.위 내용은 요청 IP의 마지막 세그먼트를 기반으로 트래픽을 전환하도록 Nginx를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!