>  기사  >  운영 및 유지보수  >  요청 IP의 마지막 세그먼트를 기반으로 트래픽을 전환하도록 Nginx를 구성하는 방법

요청 IP의 마지막 세그먼트를 기반으로 트래픽을 전환하도록 Nginx를 구성하는 방법

WBOY
WBOY앞으로
2023-05-18 10:10:341157검색

주로 위치 매개변수에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제