NIGINX 의 location 컨 텍스트 의 매개 변수 상세 설명 및 용법

nginx 에 서 는 세 가지 요청 전송 방식 만 지원 합 니 다. round - robin (돌아 가면 서 스케줄 링 방식): 클 라 이언 트 트 트 래 픽 요청 을 순서대로 백 엔 드 서버 에 배포 합 니 다.단점 은 한 서버 가 이미 많은 요청 을 처리 하고 새로운 요청 이 들 어 오 면 nginx 프 록 시 서버 가 데 이 터 를 나 눠 주 고 서버 다운 을 초래 할 수 있다 는 것 이다.ip_hash (ip 해시 방식): 방문 한 클 라 이언 트 ip 를 해시 암호 화 계산 한 후 hash 표 에 저장 합 니 다.그것 의 작업 원 리 는 당신 이 한 번 방문 한 후에 나 는 당신 이 방문 한 서버 가 어떤 서버 인지 기억 할 것 입 니 다. 당신 이 다시 요청 을 보 내 면 나 는 당신 이 처음 연결 한 서버 에 자동 으로 연결 할 것 입 니 다. 당신 이 ip 를 바 꾸 지 않 는 한.
least_conn (최소 연결 방식): 돌아 가 는 방식 의 단점 을 해결 합 니 다. 어느 서버 에 연 결 된 클 라 이언 트 요청 수 에 따라 누 구 를 최소 로 연결 하 는 것 입 니까?단점 은 갑 작 스 러 운 방문 이 끝 난 후 다운 시 킬 수 있다 는 것 이다.nginx 역방향 프 록 시 에서 의 자체 검사 메커니즘: 이러한 메커니즘 은 프 록 시 백 엔 드 서버 가 정상적으로 작 동 하 는 지 수시로 검사 합 니 다. 해당 하 는 설정 매개 변 수 는 다음 과 같 습 니 다: maxfails = 3 (최대 실패 연결 횟수, 기본 값 은 1) failtimeout = 2 (연결 에 실패 한 시간 초과) backup (게다가 사용 가능 한 서버 가 모두 다운 되 어야 만 이 서버 를 사용 할 수 있 습 니 다. 일반적으로 클 라 이언 트 서버 가 유지 보수 중...) down (사용자 정의 서버 정지) nginx 프 록 시 서버 의 가중치 설정: weight = 1;(숫자 가 클 수록 권한 이 무 거 워 집 니 다) 게다가 서버 에 요청 임 무 를 더 처리 하고 더 많이 일 하 게 하 는 것 입 니 다.누구의 배치 가 높 으 면 설정 할 권리 가 좀 중대 하 다.어떻게 클 라 이언 트 의 ip 주 소 를 정확하게 가 져 옵 니까?프 록 시 하위 설정 파일 의 location 컨 텍스트 에 이 말 을 추가 합 니 다 proxyset_header X-client-IP $remote_addr ;X - Real - IP (이것 은 자신 이 정의 한 변수 이름) 의 전체 문장 은 시스템 변수 값 을 자신 이 정의 한 변수 에 전달 하 는 것 을 의미한다.백 엔 드 서버 의 메 인 프로필 에서 Format 로그 형식 을 찾 아 변 수 를 추가 할 줄 을 찾 습 니 다. 주어진 형식 으로 쓰 십시오.LogFormat "%{X-client-IP}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  • 어떻게 특정한 웹 페이지 의 내용 에 대해 방문 사용자 이름과 비밀 번 호 를 설정 합 니까?생산 장면 설명: 일부 홈 페이지 내용 이 회사 내부 의 누군가가 방문 할 수 있 을 때 우 리 는 이렇게 할 수 있다.프 록 시 하위 설정 파일 의 location 컨 텍스트 에 이 말 을 추가 합 니 다 authbasic "여기 뭐라고 써 도 돼 요. 사용자 가 어떤 정 보 를 입력 하 는 지 알려 주 는 역할 이에 요" authbasic_user_file /data/auth.conf; 프 록 시 서버 에서 다음 작업 을 수행 합 니 다: [root@localhost ~]# htpasswd -cm /data/auth_conf user1/data/auth_conf (파일 이름) user 1 (사용자 이름) 이 웹 페이지 에 대한 새로운 접근 을 추가 하려 면 - c 를 제거 하면 됩 니 다
  • nginx 역방향 대리 사례 1: [root@www conf.d]# vim /etc/nginx/conf.d/web.conf
    upstream webserver {server 10.18.42.156: 80; 백 엔 드 서버 server 10.18.42.153: 80 입 니 다. 백 엔 드 서버} webserver 라 는 이름 을 마음대로 지 으 십시오.백 엔 드 서버 에 웹 페이지 내용 을 미리 설정 해 야 합 니 다.server{listen 8080;servername ;location / {root /webdata;index index.html index.php;proxy_pass http://webservers; proxy pass 이것 은 프 록 시 키워드} nginx 가 역방향 프 록 시 사례 2: webserver {server 10.18.42.156: 80 을 실현 합 니 다. 이것 은 phop 웹 페이지 server 10.18.42.153: 80 입 니 다. 이것 은 html 웹 페이지}
    server{listen 8080;servername ;location / {root /webdata;index index.html index.php;}
        location ~* ".php$" {
    
                proxy_pass http://webservers;
        }

    }
    두 번 의 실험 을 통 해 얻 은 결론 은 location 은 방문 할 때 일치 하 는 규칙 이 고 일치 하 는 곳 에 있 는 코드 블록 을 실행 하 는 것 입 니 다.nginx 역방향 대리 사례 3: [root@www conf.d]# vim /etc/nginx/conf.d/web.conf
    upstream webserver {ip hash; server 10.18.42.156: 80 max fails = 3 fail timeout = 2; server 10.18.42.153: 80 max fails = 3 fail timeout = 2; server 10.18.42.157 backup; 이것 은 위의 모든 서버 가 다운 되 어야 서 비 스 를 제공 합 니 다. 일반적으로 우호 적 인 알림 만 표시 합 니 다.
    server {listen 8080; upstream webserver {ip hash; 이것 은 스케줄 링 방식 server 10.18.42.156: 80 max fails = 3 fail timeout = 2; 이것 은 자체 검사 규칙 server 10.18.42.153: 80 max fails = 3 fail timeout = 2 down 입 니 다. 이것 은 수 동 으로 이 서버 를 멈 추 는 것 입 니 다.}
    server{listen 8080;servername ;location / {root /webdata;index index.html index.php;}
        location ~* ".php$" {
    
                proxy_pass http://webservers;
        }

    }
    nginx 역방향 프 록 시 사례 3: upstream webserver {ip hash; server 10.18.42.156 weight = 1; 가중치 설정 숫자 가 클 수록 처리 하 는 요청 수 입 니 다. server 10.18.42.153 weight = 2;}
    server{listen 8080;servername ;location / {root /webdata;index index.html index.php;}
        location ~* ".php$" {
    
                proxy_pass http://webservers;
        }

    }
    nginx 에서 클 라 이언 트 ip 주소 정 보 를 어떻게 얻 는 지 에 대한 설정 방법 인 스 턴 스 4: 첫 번 째 단계: 프 록 시 서버 의 하위 설정 파일 에 변수 파라미터 upstream webserver {ip hash, server 10.18.42.156 weight = 1, server 10.18.42.153 weight = 2 를 설정 합 니 다.}
    server{listen 8080;servername ;location / {root /webdata;index index.html index.php;}
        location ~* ".php$" {
    
                proxy_pass http://webservers;
                proxy_set_header X-client-IP $remote_addr ;       ,                               
        }

    } 두 번 째 단계: 백 엔 드 서버 의 메 인 프로필 에서 Format 로그 형식 설정 에 자신의 변 수 를 추가 할 줄 을 찾 습 니 다. 주어진 형식 으로 쓰 십시오. / etc / httpd / conf / httpd. confLogFormat "% {X - client - IP} i% h% l% u% t \"% r \ "% > s% b \"% {Refer} i \ "\"% {User - agent} i \ "" combined
    역방향 에이전트 의 접근 경로 문자 일치 문제 에 대한 상세 한 설명: 첫 번 째 는 일치 하 는 접근 경로 location / {root / webdata, index index. html index. php, proxy psaa 입 니 다.http://10.18.42.10;}이 경우 ip 주소 뒤에 경 로 를 추가 하여 방문 할 때 자동 으로 방문 경 로 를 뒤로 추가 합 니 다. 이러한 오 류 를 피하 기 위해 서 는 일치 하 는 문자 가 추가 되 지 않 은 경우 ip 주소 뒤에 웹 페이지 의 정확 한 경 로 를 적어 야 합 니 다.
    두 번 째 상황 은 일치 하 는 접근 경 로 를 추가 한 location ~ * ". php $" {
                proxy_pass http://webservers;
                proxy_set_header X-client-IP $remote_addr ;
        }

    이 경우 일치 하 는 부 호 를 추가 하면 ip 주소 에 접근 한 후 경로 나 다른 것 을 추가 할 수 없습니다.
    nginx 접근 권한 에 대한 역방향 프 록 시 구현 사례 5: 프 록 시 서버 에 다음 명령 을 입력 하 십시오: [root@localhost~] \ # htpasswd - cm / passwd user 1 / passwd 이것 은 비밀번호 와 사용자 이름 을 저장 하 는 파일 user 1 입 니 다. 이것 은 만 들 사용자 이름 을 글자 프로필 에 입력 하 는 것 입 니 다. location ~ * ". php $"{proxy_pass http://webservers; proxy set header X - client - IP $remote addr; auth basic "사용자 이름과 비밀 번 호 를 입력 하 십시오"; auth basic user file / passwd;} 이렇게 하면. php 의 웹 페이지 를 방문 할 때 클 라 이언 트 가 사용자 이름과 비밀 번 호 를 입력 하 라 고 알려 줍 니 다. 그렇지 않 으 면 웹 페이지 를 볼 수 없습니다.

    좋은 웹페이지 즐겨찾기